Цитата:
Сообщение от orcpochta
 Код AS3:
private function digest(e:TimerEvent):void
{
if (currentCalories - VirtualPet.caloriesPerSecond <= 0)
{
trace (getName( ) + " has died.");
e.target.stop( );
e.target.removeEventListener(e.TimerEvent, digest); //отписываем обработчик
}
else
{
currentCalories -= VirtualPet.caloriesPerSecond;
trace(getName( ) + "digested some food. It now has " + currentCalories + "calories remaining.");
}
}
И, кстати, из Мука все примеры поддерживаются))) Это если вы про setInterval( ).
|
К сожалению код не помог, немного помогло вытаскивание переменной
digestIntervalID из конструктора:

Код AS3:
private var digestIntervalID:Timer;
public function VirtualPet (name) {
setName(name);
var digestIntervalID = new Timer(1000, 0);
digestIntervalID.addEventListener(TimerEvent.TIMER, digest);
digestIntervalID.start( );
}
Хотя теперь когда выполняется но когда выполняется

Код AS3:
currentCalories - VirtualPet.caloriesPerSecond <= 0
в окне Вывод появляется:
Stan has died.
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at VirtualPet/digest()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
PS У меня setInterval( ) CS4 не компилирует и выдает ошибку.