Есть ли какая нибудь альтернатива функции Update\LateUpdate?

Общие вопросы о Unity3D

Есть ли какая нибудь альтернатива функции Update\LateUpdate?

Сообщение Sergasteam 01 фев 2011, 22:47

Привет всем,подскажите,пожалуйста.Вот я борюсь с этими циклами уже довольно долго,как я понимаю эти апдэйты-постоянные циклы. А можно ли как нибудь сделать цикл в своей функции?например:

Синтаксис:
Используется javascript
var x=600;

function Cycle()
{
//for(x=600;x<=0;x--) yield;
while(x<=0)
{
x-=1*Time.deltaTime;
yield;
}
}


Чтобы значение в функции дошло до нужного,и больше не повторялось,а следующему значению не мешали другие значения этой же функции?
Вот так не получается,получить значение Х,после вызова своей функции.
А через Апдэйты,без проблем. Но опять же трабл:

Синтаксис:
Используется javascript
var x=600;
var moment:boolean=true;
var moment1:boolean=true;

function LateUpdate()
{
if (moment==true)
{
x-=1*Time.deltaTime;
if (x<0) x=0;
}
yield WaitForSeconds(2);
if (moment1==true)
{
x+=1*Time.deltaTime;
if (x>600) x=600;
}
}


Здесь Х- позиция кнопки,moment-кнопка за экраном,выезжает в видимую область экрана. moment1-кнопка из видимой области экрана уезжает обратно за экран.
Первый moment работает на ура,а второму moment1 мешает передвигаться moment,потому что циклится позиция.
Sergasteam
UNIт
 
Сообщения: 68
Зарегистрирован: 16 янв 2011, 00:04

Re: Есть ли какая нибудь альтернатива функции Update\LateUpdate?

Сообщение Paul Siberdt 01 фев 2011, 22:53

Синтаксис:
Используется javascript
function MyAlternateForUpdate(){
  var a : int = 0;
  var b : int = 0;
  var boo : boolean = false;  
while(a<5){
    yield WaitDorSeconds(1.0);
    a++;
    b+=927;
  }
  print ("taDa " + b);
  while(!boo){
    a++;
    b/=a;
    if(b < 10) boo = true;
    yield;
  }
  print ("taDa2 " + b);
}
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Есть ли какая нибудь альтернатива функции Update\LateUpdate?

Сообщение Zaicheg 01 фев 2011, 22:54

Я ничего не понял из вашего сообщения, но:
- посмотрите события Start и Awake
- ставьте флаги (например, булева переменная), если нужно, чтобы операция выполнилась один раз, а на следующем апдейте не повторялась
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Есть ли какая нибудь альтернатива функции Update\LateUpdate?

Сообщение Sergasteam 01 фев 2011, 23:22

Да,о флагах я совсем забыл спасибо,проблема решена=)))

Подскажите пожалуйста еще,как можно сделать,чтобы при нажатии на кнопку сработал скрипт прикрепленный к объекту,хотя изначально он выключен?
У меня есть сцена,с кнопкой,и при ее нажатии сцена должна плавно исчезать в черный экран.
Скрипт исчезания есть,кнопка есть,а как их связать вообще не пойму.
Sergasteam
UNIт
 
Сообщения: 68
Зарегистрирован: 16 янв 2011, 00:04

Re: Есть ли какая нибудь альтернатива функции Update\LateUpdate?

Сообщение Sergasteam 01 фев 2011, 23:39

Проблема решена=)
Sergasteam
UNIт
 
Сообщения: 68
Зарегистрирован: 16 янв 2011, 00:04


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12