|
|
|||||
Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
|
Расширение класса кнопки
Здравствуйте. Я работаю со scaleform, в нем стандартный класс кнопки уже расширен. Но мне нужно расширить и его еще (изменять нельзя ибо используется еще много где), чтобы добавить свойств и стилей кнопке. Кому интересно - линк, вторая вкладка.
Получается такой вариант: FlashButton <+ ScaleformButton <+ MyButton В общем там есть свойство selected и приватный массив префиксов для приватного класса setState. Т.е. setSate вызывается при событиях up\down\release\out и т.д. Выглядит все так: /** * Set the current visible state. The state is determined by getting a list of possible frame names based on the state, and applying a possible prefixes depending on the button state (eg, selected). Flash and GFx will go to the last existing frame called, so we can use "fall-back" frames. * @param state The name of the new state * @see #getStatePrefixes * @see #stateMap */ private function setState(state:String):Void { this.state = state; var prefixes:Array = getStatePrefixes(); var states:Array = stateMap[state]; if (states == null || states.length == 0) { return; } do { var prefix:String = prefixes.pop().toString(); for (var i:Number=states.length-1; i>=0; i--) { gotoAndPlay(prefix+states[i]); } } while (prefixes.length > 0); updateAfterStateChange(); } /** * Get a list of frame label prefixes for state management. Prefixes are applied in the setState method. * @see #setState */ private function getStatePrefixes():Array { return (_selected) ? ["selected_",""] : [""]; } Отсюда вопрос: как мне лучше переопределить функцию getStatePrefixes? Вариант: Но встает вопрос, будет ли класс setState из ScaleformButton сначала обращаться к моему getStatePrefixes(), после чего уже к Scaleform'овскому? |
Часовой пояс GMT +4, время: 01:45. |
|
« Предыдущая тема | Следующая тема » |
Теги |
button , extends , override , scaleforn |
|
|