проблема с наследованием
Возникла тут у меня проблема с наследованием. создал класс для кнопок (ButtonMain). Его наследует каждый класс для отдельной кнопки (здесь для примера BtnSound). Смотрел по дебагу, в переменную funcOnPress всё нормально записывается, но после нажатия на кнопку, когда попадаем в функцию press(event:MouseEvent), эта переменная пустая, соответственно ничего дальше не работает. Где я ошибаюсь?
Код AS3:
Код AS3:
Код AS3:
|
Так сама кнопка уже на сцене, или вы её всё-таки создаёте, как в последнем блоке кода?
|
сама кнопка вручную добавлена на сцену. а тут вызывается конструктор её класса. и соответственно присваивается переменной btnSound, чтоб в дальнейшем с ней работать.
|
Конструктор вызывается во время создания кнопки на сцене.
Зачем Вам такой примитив как "funcOnPress"?, ведь есть же модель событий... |
Бред какой-то. Добавьте в press в конец:
trace("pressed", funcOnPress); Что выведет? Добавьте в register в конец trace("registered",this.funcOnPress); Что выведет? Убедитесь, что выполняется именно такой код, как вы тут привели и никакого другого. |
sniper007, уберите строчку
Код AS3:
|
Спасибо большое за ответы, всё заработало =)
Цитата:
Цитата:
|
Итак, в коде вы все равно где-то будете писать:
Код AS3:
Код AS3:
|
zuxul,
1) зачем? 2) при такой записи тоже может быть доступ к событию и кнопке и даже не быть ограничения на вызов одной функции. 3) добавить параметр, приходящий в функцию легче. 4) клик надо вешать не на кнопку, а на её hitArea или как там она сейчас, так что запись ещё длиннее. |
-De- не убедили...
1) зачем делать то же самое, что сделали уже в событийной модели (ведь при addEventListener функция сохраняется в какой-то массив и потом она же и вызывается). 2) в данной реализации этого ничего нет 3) чем легче? объясните. 4) можно и не на hitArea |
Часовой пояс GMT +4, время: 20:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.