Руководство по actionscript. часть 7, стр. 042
CompleteListener); foodStarvi ng. contentLoaderlnfo. addEventLi stener(IOErrorEvent. I0_ERR0R.
ioErrorListener);
foodStarving. x = 15; foodStarving. у = 100;
}
// Вызывается при изменении состояния животного private function petStateChangeListener (e:Event):void { // Если животное умерло…
if (pet. getPetState( ) == Virtual Pet. PETSTATE_DEAD) { // …блокируем кнопки для кормления disableUK );
}
// Обновляем графику, чтобы отразить новое состояние животного renderCurrentPetState( );
}
// Получает текущее состояние животного и отображает его на экране private function renderCurrentPetState ( ):void { // Удаляем все изображения
for (var i:int = graphicsContainer. numChildren-1; i >= 0; i—) { graphicsContainer. removeChi1dAt(i);
}
// Получаем текущее состояние животного var state:int = pet. getPetState( );
// Отображаем подходящее изображение switch (state) { case Virtual Pet. PETSTATEJULL:
graphi csContai ner. addChi1d(petAli ve); break;
case Virtual Pet. PETSTATE_HUNGRY: graphi csContai ner. addChi1d(petAli ve); graphi csContai ner. addChi1d(foodHungry); break;
case Vi rtualPet. PETSTATE_STARVING: graphi csContai ner. addChi1d(petAli ve); graphi csContai ner. addChi1d(foodStarving); break;
case Virtual Pet. PETSTATE_DEAD: graphi csContai ner. addChi1d(petDead); break;
}
}
// Вызывается при изменениях в имени животного private function petNameChangeListener (e:Event):void {
// Обновляем имя животного на экране
renderCurrentPetName( );
}
// Получает текущее имя животного и отображает его на экране private function renderCurrentPetName ( ):void { petName. text = pet. getName( );
}
// Вызывается при нажатии кнопки «Feed Applе» private function appleBtnClick (e:MouseEvent):void {
// Кормим животное яблоком
pet. eat(new Apple( ));
}
// Вызывается при нажатии кнопки «Feed Sushi» private function sushiBtnClick (e:MouseEvent):void {
// Кормим животное суши
pet. eat(new Sushi( ));
}
// Вызывается при завершении процесса загрузки изображений private function completeListener (e:Event):void { // Увеличиваем (на единицу) общее количество загруженных изображений numGraphicsLoaded++; // Если все изображения загружены… if (numGraphicsLoaded == numGraphicsToLoad) {
// …отображаем подходящее изображение, а затем рассылаем событие
// Event. COMPLETE, которое обозначает, что данный объект
// VirtualPetView готов к использованию
renderCurrentPetState( );
renderCurrentPetName( ); dispatchEvent(new Event(Event. COMPLETE));
}
}
// Вызывается при невозможности загрузки изображения private function ioErrorListener (е:IOErrorEvent):void {
// Отображаем отладочное сообщение, описывающее суть проблемы загрузки
traceCLoad error: » + е);
}
}
}
В листинге П. 10 продемонстрирован код для класса FoodButton, который представляет простую интерактивную кнопку-текст.