Автор Тема: переключение оружия  (Прочитано 2139 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Апрель 01, 2012, 21:39:36 pm
Прочитано 2139 раз

Ru_lon

  • Активный участник

  • Оффлайн
  • ****

  • 390
  • Репутация:
    9
    • Просмотр профиля
Всем привет. Такой вопрос как реализовать переключение оружия. Принцеп каков? Активация и обьекта?
Сильное государство угнетает нас, при слабом государстве погибаем мы сами.

Апрель 02, 2012, 07:26:07 am
Ответ #1

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
да, актив / диактив, или выключ.рендера, и переключ. переменной в скрипте, отвечающей за работает ли оружие.

Апрель 02, 2012, 09:50:15 am
Ответ #2

Ru_lon

  • Активный участник

  • Оффлайн
  • ****

  • 390
  • Репутация:
    9
    • Просмотр профиля
Активация и дезактивация мне больше нравится =)
Сильное государство угнетает нас, при слабом государстве погибаем мы сами.

Апрель 02, 2012, 10:05:45 am
Ответ #3

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
моя система сделана на перепенной и отключ.рендера. раньше было на деактивации, но тогда нельзя подбор патронов делать, верней очень трудно. и смену оружий не удобно.

Апрель 02, 2012, 10:37:31 am
Ответ #4

Nmager

  • Пользователь

  • Оффлайн
  • **

  • 57
  • Репутация:
    3
    • Просмотр профиля
юзай transform.GetChild()

Апрель 02, 2012, 11:01:22 am
Ответ #5

Ru_lon

  • Активный участник

  • Оффлайн
  • ****

  • 390
  • Репутация:
    9
    • Просмотр профиля
Вот насчет отключения рендера. Как его сделать? Я вот так делал   var GunVebr : GameObject;
var RenderGun : MeshRenderer;

function Start () {
RenderGun = GetComponent("MeshRenderer") ;
}
function FixedUpdate () {
if (Input.GetKeyDown (KeyCode.Q)) {
GunVebr.active = !GunVebr.active;
RenderGun.active = !RenderGun.active;
}
}
Сильное государство угнетает нас, при слабом государстве погибаем мы сами.

Апрель 02, 2012, 11:08:40 am
Ответ #6

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio

Июль 18, 2013, 23:07:30 pm
Ответ #7

Captious

  • Пользователь

  • Оффлайн
  • **

  • 31
  • Репутация:
    3
    • Просмотр профиля
using UnityEngine;
using System.Collections;

public class SwitchWeapon : MonoBehaviour {
public GameObject gun1;
public GameObject gun2;
public GameObject gun3;
private int curWeapon;
// Use this for initialization
void Start ()
{

}

// Update is called once per frame
void Update ()
{
if(Input.GetAxis(«Mouse ScrollWheel»)<0)
{
curWeapon -= 1;
Switch();
}
if(Input.GetAxis(«Mouse ScrollWheel»)>0)
{
curWeapon += 1;
Switch();
}
if(curWeapon>3)
{
curWeapon = 1;
Switch();
}
if(curWeapon<1)
{
curWeapon = 3;
Switch();
}
if(Input.GetKeyDown(«1″))
{
curWeapon = 1;
Switch();
}
if(Input.GetKeyDown(«2″))
{
curWeapon = 2;
Switch();
}
if(Input.GetKeyDown(«3″))
{
curWeapon = 3;
Switch();
}
}
void Null()
{
gun1.SetActive(false);
gun2.SetActive(false);
gun3.SetActive(false);
}
void Switch()
{
if(curWeapon == 1)
{
Null();
gun1.SetActive(true);
}
if(curWeapon == 2)
{
Null();
gun2.SetActive(true);
}
if(curWeapon == 3)
{
Null();
gun3.SetActive(true);
}
}
}
« Последнее редактирование: Июль 19, 2013, 12:12:33 pm от Alcatraz »

Июль 18, 2013, 23:33:28 pm
Ответ #8

Mimi Neko

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 2456
  • Репутация:
    153
    • Просмотр профиля
Captious, помести свои скрипты в специальные кавычки для кода!