Руководство по actionscript. часть 7, стр. 031
If CgetPetStateC ) != VirtualPet. PETSTATEJULL) { setPetStateC Virtual Pet. PETSTATEJULL);
}
}
// Возвращает количество калорий в «желудке» животного public function getCalories ( ):int { return currentCalories;
}
// Возвращает количество с плавающей запятой, описывающее количество // пищи, оставшееся в «желудке» животного, в процентах public function getHunger ( ):Number { return currentCalories / VirtualPet. maxCalories;
}
// Деактивирует животное private function die ( ):void {
// Останавливаем жизненный цикл животного
stopC );
// Переводим животное в состояние «мертвый» setPetStateCVi rtualPet. PETSTATE_DEAD);
// Отображаем отладочное сообщение, информирующее о смерти животного
• trace(getName( ) + » has died.»);
}
// Уменьшает количество калорий животного в соответствии со скоростью // переваривания пищи этого животного. Этот метод вызывается // автоматически объектом digestTimer. private function digest ( ):void {
trace(getName( ) + » is digesting…»);
setCalories(getCalories( ) — VirtualPet. caloriesPerSecond);
}
// Присваивает целое число, представляющее текущее
// физическое состояние животного
private function setPetState (newState:int):void {
// Если состояние животного не изменилось, выходим из метода
if (newState == petState) { return;
}
// Присваиваем новое состояние petState = newState;
// Умедомляем приемники об изменении состояния животного dispatchEvent(new Event(Vi rtualPet. STATE_CHANGE));
}
// Возвращает целое число, представляющее текущее // физическое состояние животного public function getPetState ( ):int { return petState;
}
// Приемник события для объекта Timer, который управляет // процессом переваривания пищи
private function digestTimerListener (e:TimerEvent):void { // Перевариваем часть пищи digest( );
}
}
}
В листинге П. З представлен код для класса Food, который является суперклассом для различных видов пищи, поедаемой животным.