Добавлен
Помогите пожалуйста. Вот написал что-то. Вообщем ребята я хочу чтоб когда проходило время 1 минута игровая у меня отнималась 1 ед. Еды, и когда еды становилось 0, тогда отнимались жизни по 30 секунд 1 ед. Жизни. И ещё ребята, у меня не отображается кнопки которые я создал в этом скрипте.
Наброски.
var Food : int = 100;
var Health : int = 100;
var Minus_Food = false;
var Time_For_MinusF : float = 10;

function OnGUI () {
	GUI.Button(Rect(10,10,250,50), "Food" = (Food : int));
		Minus_Food = true;
		Time_For_MinusF = 10;
			Food -= 1;
				Food = 0;
				Minus_Food = false;
					Health -= 1;
				}

	GUI.Button(Rect(10,60,250,50), "Health" = (Health : int));


function DestroyGUI(){
		yield WaitForSeconds (Time_For_MinusF);
			Food -= 1;
	}

Принятый ответ

В общем советую прочитать офф доку по скриптингу в Unity. Потому что логика у тебя не правильно написана.
OnGUI - нужно использовать только для отображения интерфейса (и то, лучше потом попробовать новую систему UI.
GUI.Button(Rect(10,10,250,50), "Food" = (Food : int));
Эта строчка не валидна по синтаксису
Для изменение данных в течении времени надо использовать OnUpdate или OnFixedUpdate
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
7 лет назад
0
Похожие вопросы:

ответ
    var cloneButon = Instantiate(button);
    cloneButon.transform.SetParent(button.transform, false);
    cloneButon.name = "button." + cloneButon.transform.GetSiblingIndex();
У сетпарента обязательно выставляешь false, тогда положение/поворот/масштаб будет "как надо", на том же месте.
ответ
Возможно порядок вызова отрабатывает не правильно. Я бы сделал немного иначе. Внутри фигуры запрашивал бы данные от кубов.
	var cubeComponents = GetChildrenComponents<CubComponent>(); // получаем список дочерних компонентов типа CubeComponent
	var isRightCollision = cubeComponents.Any(cube => cube.isRight); // проверяем у каждого флаг isRight и если хотя бы у одного стоит, то возврашаем true
	// .. остальные действия
ответ
Дорогой друг.
Вопрос должен содержать сам вопрос, а не задачу с мутной постановкой.
Следующий раз получишь победные штрафные баллы.

2
29
7 лет назад
Отредактирован alexprey
2
В общем советую прочитать офф доку по скриптингу в Unity. Потому что логика у тебя не правильно написана.
OnGUI - нужно использовать только для отображения интерфейса (и то, лучше потом попробовать новую систему UI.
GUI.Button(Rect(10,10,250,50), "Food" = (Food : int));
Эта строчка не валидна по синтаксису
Для изменение данных в течении времени надо использовать OnUpdate или OnFixedUpdate
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.