Показать сообщение отдельно
Старый 22.05.2010, 00:34
TOKIO вне форума Посмотреть профиль Отправить личное сообщение для TOKIO Найти все сообщения от TOKIO
  № 1  
Ответить с цитированием
TOKIO

Регистрация: Apr 2010
Сообщений: 14
Tip Как убить счетчик. Не работает Timer.stop()

од из Колина Мука, который я пытался скомпилировать, содержал не поддерживаемый уже класс счетчика, который я заменил на класс Timer. Счетчик создать удалось, проблема в том, как его остановить. Timer.stop() не работает. Без остановки всё нормально компилируется и запускается.

Код AS3:
package zoo {
 import flash.utils.Timer;
 import flash.events.TimerEvent;
 
 internal class VirtualPet {
   private static var maxNameLength = 20;
private static var maxCalories = 2000;
private static var caloriesPerSecond = 200;
 
   private var petName;
private var currentCalories = VirtualPet.maxCalories/2;
   private var creationTime;
 
   public function VirtualPet (name) {
     setName(name);
  var digestIntervalID:Timer = new Timer(1000, 0);
  digestIntervalID.addEventListener(TimerEvent.TIMER, digest);
  digestIntervalID.start( );
   }
 
// часть кода вырезана
 
public function getName ( ) {
return petName;
}
 
private function digest( ) {
  if (currentCalories - VirtualPet.caloriesPerSecond <= 0) {
 trace (getName( ) + " has died.");
 digestIntervalID.stop( );
  } else {
currentCalories -= VirtualPet.caloriesPerSecond;
   trace(getName( ) + "digested some food. It now has " + currentCalories + "calories remaining.");
    }
}
 
   public function getAge ( ) {
   var currentTime = new Date ( );
   var age = currentTime.time - creationTime.time;
   return age;
   }
 }
}