Суббота, 24 Августа 2019, 14:02

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Принцип механики игры (Ну ваще интересненько!)
Принцип механики игры
BassPiraT92Дата: Пятница, 22 Марта 2019, 14:43 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Подскожите как лучше реализовать такой сценарий:

Имеется 2 здания, на них одинаковые скрипты.
Имеется игрок - который подходя к зданию запускает коррутину, исчезает, появляется после её выполнения.

При использовании 2 одинаковых скрипта, функция OnMouseDown() работает исключительно только с 1 зданием.

Вот код:
Доступно только для пользователей
ArtemSДата: Понедельник, 25 Марта 2019, 09:05 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Код
tt.color = new Color(255, 255, 255, 0.1f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.2f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.3f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.4f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.5f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.6f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.7f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.8f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.9f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 1f);
            yield return new WaitForSeconds(1f);
            tt.color = new Color(255, 255, 255, 0.9f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.8f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.7f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.6f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.5f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.4f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.3f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.2f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0.1f);
            yield return new WaitForSeconds(speed);
            tt.color = new Color(255, 255, 255, 0f);
            PC.ToolTip.SetActive(false);


почему бы это не сделать в цикле где некоему float alphaValue каждое возвращение добавляется 0,1, а потом когда оно равно 1, то отнимается 0,1 ? либо Mathf.Lerp

Код
StartCoroutine(ToolTipShow("+" + Money));
            StartCoroutine(OutFack(SecondToRestart));


тут не могу понять что у тебя...ты как бы начинаешь грабить, а в соседнем потоке говоришь что не можешь грабить ?

Код
if (PC.Otm >= NeedOtm)


это условие точно соблюдается ?


хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Понедельник, 25 Марта 2019, 09:12
drcrackДата: Понедельник, 25 Марта 2019, 09:26 | Сообщение # 3
старожил
Сейчас нет на сайте
респект ArtemS которому удалось хоть что-то понять в этом скрипте
я же буду более лаконичен
код — полное говно, в нем плохо абсолютно все, я даже не знаю с чего начать его исправлять
его лучше просто удалить и не открывать юнити до прочтения как минимум 3 книжек по основам программирования


Dynamic GPU Occlusion Culling for Unity
BassPiraT92Дата: Вторник, 26 Марта 2019, 16:14 | Сообщение # 4
почетный гость
Сейчас нет на сайте
drcrack, так и сделал)

Добавлено (26 Марта 2019, 16:15)
---------------------------------------------
ArtemS,

Код
if (PC.Otm >= NeedOtm)


Если в player controller отмычек больше либо равно нужному для ограбления.
ArtemSДата: Вторник, 26 Марта 2019, 20:10 | Сообщение # 5
почетный гость
Сейчас нет на сайте
BassPiraT92, это я понял. возможно ли так, что это условие не срабатывает на 2ом здании, поэтому оно и не работает

хуяк, хуяк и в продакшн
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Принцип механики игры (Ну ваще интересненько!)
  • Страница 1 из 1
  • 1
Поиск:

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