Руководство по actionscript. часть 3, стр. 003
MouseChildren = false;
}
// Реагируем на событие, вызванное щелчком кнопкой мыши на кнопке-слове
private function clickListener (е:MouseEvent):void { // Выбранный игроком вариант имеет идентификатор элемента, который был // присвоен объекту WordButton в методе makeQuestion( ). game. submitGuess(е. target. get IDC ));
}
}
}
// Файл WordButton. as package {
import flash. text.*;
import flash. display.*;
// Представляет на экране слово, на котором можно щелкнуть кнопкой мыши // (то есть доступный вариант ответа на вопрос). ID обозначает // идентификатор элемента, выбранного игроком (переменная Item. id), public class WordButton extends Sprite {
private var id:int; // Идентификатор элемента, представляемого // данной кнопкой
private var t:TextField;
// Конструктор
public function WordButton ( ) { t = new TextField( ); t. autoSize = TextFieldAutoSize. LEFT; t. border = true: t. background = true;
t. selectable = false; addChild(t);
buttonMode = true; mouseChildren = false;
}
// Присваивает текст, отображаемый на кнопке public function setButtonText (text:String):void { t. text = text;
}
// Присваивает идентификатор элемента, представляемого данной кнопкой public function setID (newID:int):void { id = newID:
}
// Возвращает идентификатор элемента, представляемого данной кнопкой public function getID ( ):int { return id;
}
}
}
Просмотрели код? Отлично, рассмотрим его более детально. Возможно, вы заметили, что определения пространств имен в игре не изменялись вообще с того момента, как они были представлены в листинге 17.1. Тем не менее существенно изменился класс Items, а также появилось несколько новых классов:
? KidsGame — основной класс приложения;
? I tem — предоставляет информацию о конкретном элементе игры;
? QuestionScreen — формирует пользовательский интерфейс для каждого вопроса;
? WordButton — представляет кнопку-слово на экране.