@dimoooooooooon

Что я написал не так в Unity?

буду очень рад любой помощи, может ответ лежит прямо у меня под носом но я его не замечаю, короче
я написал скрипт включения и выключения экрана камеры и его меша
if (Input.GetKeyDown (onoffcamera) && !onoff)
		{
			CameraOff.SetActive (true);
			Invoke ("oncameravoid", time);
			onoff = true;
			meshcamera.GetComponent<MeshRenderer> ().enabled = true;
		}
		if (Input.GetKeyDown (onoffcamera) && onoff)
		{
			Camera.SetActive (false);
			CameraOff.SetActive (true);
			Invoke ("offfcameravoid", time);
			onoff = false;
		}

и инвоки
void oncameravoid ()
	{
		Camera.SetActive (true);
		CameraOff.SetActive (false);
		//анимку запускать тут
	}
	void offfcameravoid ()
	{
		meshcamera.GetComponent<MeshRenderer> ().enabled = false;
		CameraOff.SetActive (false);
	}

и почему-то когда я нажимаю на кнопку включения камеры то запускаются оба инвока, тоесть сначала включается камера а потом второй инвок включается и выключает меш, хотя чтобы сработал второй инвок нужно чтобы был активен второй иф, ну так что я не правильно написал что скрипт работает некорректно?(
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Чтобы сработал второй инвок, как ты варажаешься, достаточно чтобы сработал первый и поменял флаг, который отличает первое условие от второго. И оно всегда выполняется.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы