Пятница, 29 Марта 2024, 08:45

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос по скрытию и показу обьекта на сцене[РЕШЕНО] (C#)
Вопрос по скрытию и показу обьекта на сцене[РЕШЕНО]
dzrone3488Дата: Четверг, 07 Августа 2014, 13:51 | Сообщение # 1
участник
Сейчас нет на сайте
Сразу говорю, в скриптинге я новичок в Unity и склоняюсь к C#, и мой вопрос заключается в том, что я хочу, чтобы при нажатии кнопки "1" показывалось одно оружие, и скрывалось то, которое было до этого. Всего оружий пока три. Скрипт наверно очень глупый, мне наверно стыдно его показывать facepalm но я всё же покажу. Прошу сильно не критиковать ok

Код
   
using UnityEngine;
using System.Collections;

public class SwitcherWeapon : MonoBehaviour {

   public GameObject gun;
   public bool bgun;
   public GameObject pistol;
   public bool bpistol;
   public GameObject gran;
   public bool bgran;
     
     
     

   void Start () {
      
    bgun = true;
    bpistol = false;
    bgran = false;
     
   }
     

   void Switch () {
     
    if (bgun == true)
    {
     if (Input.GetKeyDown(KeyCode.P))
     {
      gun.disabled(false);
      pistol.enable(true);
      gran.disabled(false);
        
      bgun = false;
      bpistol = true;
      bgran = false;
     }
     if (Input.GetKeyDown(KeyCode.G))
     {
      gun.disabled(false);
      pistol.disabled(false);
      gran.enable(true);
        
      bgun = false;
      bpistol = false;
      bgran = true;
     }
    }
    else if (bpistol == true)
    {
     if (Input.GetKeyDown(KeyCode.E))
     {
      gun.enable(true);
      pistol.disabled(false);
      gran.disabled(false);
        
      bgun = true;
      bpistol = false;
      bgran = false;
     }
     if (Input.GetKeyDown(KeyCode.G))
     {
      gun.disabled(false);
      pistol.disabled(false);
      gran.enable(true);
        
      bgun = false;
      bpistol = false;
      bgran = true;
     }
       
    }
    else if (bgran == true)
    {
     if (Input.GetKeyDown(KeyCode.E))
     {
      gun.enable(true);
      pistol.disabled(false);
      gran.disabled(false);
        
      bgun = true;
      bpistol = false;
      bgran = false;
     }
     if (Input.GetKeyDown(KeyCode.P))
     {
      gun.disabled(false);
      pistol.enable(true);
      gran.disabled(false);
        
      bgun = false;
      bpistol = true;
      bgran = false;
     }
       
    }
      
   }
}


Я делаю игры, а вы в них играете! :)
Моя группа по созданию игр - www.vk.com/dzrone



Сообщение отредактировал dzrone3488 - Четверг, 07 Августа 2014, 18:15
robertonoДата: Четверг, 07 Августа 2014, 14:32 | Сообщение # 2
Чокнутый Кот
Сейчас нет на сайте
dzrone3488, Что бы скрыть:
gun.SetActive(false);
Показать:
gun.SetActive(true);

Добавлено (07.08.2014, 14:32)
---------------------------------------------
Это всё надо обрабатывать в void Update

dzrone3488Дата: Четверг, 07 Августа 2014, 14:56 | Сообщение # 3
участник
Сейчас нет на сайте
Цитата robertono ()
dzrone3488, Что бы скрыть: gun.SetActive(false); Показать: gun.SetActive(true);Добавлено (07.08.2014, 14:32)---------------------------------------------Это всё надо обрабатывать в void Update


Нет, я пытался так. И ради результата еще раз так сделал, как ты сказал. Даже скопировал. Но всё равно в консоли пишет ошибу sad



Я делаю игры, а вы в них играете! :)
Моя группа по созданию игр - www.vk.com/dzrone

berilДата: Четверг, 07 Августа 2014, 15:02 | Сообщение # 4
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
ты наверное испльзуешь версию ниже 4.0 ?



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
dzrone3488Дата: Четверг, 07 Августа 2014, 15:44 | Сообщение # 5
участник
Сейчас нет на сайте
Цитата beril ()
ты наверное испльзуешь версию ниже 4.0 ?

Да, а что?


Я делаю игры, а вы в них играете! :)
Моя группа по созданию игр - www.vk.com/dzrone

ЛевшаДата: Четверг, 07 Августа 2014, 16:02 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата dzrone3488 ()
Да, а что?

gun.SetActive(false);
Раньше это писали по другому: gun.active = true;
Как то так (точно уже не помню...). smile


X.cor.R (Prologue)

Сообщение отредактировал Левша - Четверг, 07 Августа 2014, 16:03
allodsДата: Четверг, 07 Августа 2014, 18:02 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
и щас так можно
zisXДата: Четверг, 07 Августа 2014, 18:07 | Сообщение # 8
Neto Zis
Сейчас нет на сайте
allods, нет

dzrone3488Дата: Четверг, 07 Августа 2014, 18:13 | Сообщение # 9
участник
Сейчас нет на сайте
Цитата Левша ()
gun.SetActive(false); Раньше это писали по другому: gun.active = true; Как то так (точно уже не помню...).

Спасибо, всё получилось! Ура!


Я делаю игры, а вы в них играете! :)
Моя группа по созданию игр - www.vk.com/dzrone

JonLivingstonДата: Четверг, 07 Августа 2014, 18:31 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Цитата dzrone3488 ()
Спасибо, всё получилось! Ура!

А если бы перевели ошибку и немножко поюзали гугл (или лучше справку Unity), получилось бы гораздо раньше.

Цитата dzrone3488 ()
Скрипт наверно очень глупый

Это так же имеет место, т.к. человек, который открывал любую книжку по C# и прочитывал хотя бы 20 страниц, знает, что
Цитата dzrone3488 ()
if (bgun == true)

эквивалентно
Цитата dzrone3488 ()
if (bgun)

Второй вариант считается хорошим стилем программирования ввиду его компактности.


"Почему труднее всего на свете заставить птицу поверить в то, что она свободна?" - Ричард Бах
Наша первая игра Dark Forest
Let's play на Dark Forest


Сообщение отредактировал JonLivingston - Четверг, 07 Августа 2014, 18:31
robertonoДата: Четверг, 07 Августа 2014, 18:37 | Сообщение # 11
Чокнутый Кот
Сейчас нет на сайте
Никогда не понимал людей которые используют версию ниже 4. Да, у него Pro, но это не его про, тем более что при таком знании движка ничего хорошего от прошки не получишь..
radionДата: Пятница, 08 Августа 2014, 17:38 | Сообщение # 12
частый гость
Сейчас нет на сайте
лично мне код понравился. Для новичка очень даже ничего. продолжай в том же духе!
zisXДата: Пятница, 08 Августа 2014, 17:39 | Сообщение # 13
Neto Zis
Сейчас нет на сайте
radion, честно?)

dzrone3488Дата: Пятница, 08 Августа 2014, 20:38 | Сообщение # 14
участник
Сейчас нет на сайте
Цитата zisX ()
лично мне код понравился. Для новичка очень даже ничего. продолжай в том же духе!

Спасибо большое


Я делаю игры, а вы в них играете! :)
Моя группа по созданию игр - www.vk.com/dzrone

Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос по скрытию и показу обьекта на сцене[РЕШЕНО] (C#)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг