Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обработка мыши внутри объекта. или конструктор не работает (http://www.flasher.ru/forum/showthread.php?t=149804)

zelibiba84 31.01.2011 23:33

Обработка мыши внутри объекта. или конструктор не работает
 
Вложений: 1
Когда прописываю обработку для клика мыши внутри класса кнопки - ноль эмоций.
Если прописываю в классе мувика, в который помещаю кнопку - всё Ок...
Хотелось бы чтоб и в 1м случае все было Ок. Что не так?

есть подозрение, что всё, что в конструкторе кнопки не фурычит, ибо задаваемые в конструкторе координаты( х=400 и y=100) остаются так же без внимания.

(все остальные файлы в архиве приаттачил)

класс кнопки:
Код AS3:

package  {
 
        import flash.display.SimpleButton;
        import flash.events.MouseEvent;
        import Main;
 
        public class ButtonPlay extends SimpleButton {
 
 
                public function ButtonPlay() {
                        // constructor code
                        x = 400
                        y = 100       
 
                        addEventListener(MouseEvent.CLICK, OnClick);
                }
 
                public function OnClick(event:MouseEvent) {
 
                        trace('ButtonPlay Down')
                        Main.play_the_game();
 
                }
        }
 
}



класс мувика с кнопкой:
Код AS3:

package screens{
 
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.display.SimpleButton;
        import flash.events.KeyboardEvent;
        import flash.events.MouseEvent;
        import gameInterface.*
 
 
        /*****************************/
        public class SplashScreen extends MovieClip {
 
                //Объявление типа перемнной main_class of the_game (основной класс).
                public var main_class:Main;
                public var play_butt = new ButtonPlay();
                public var how_butt =  new ButtonInfo();
 
                //Основная функция, принимающая в качестве параметра passed_class типа the_game
                //передается как параметр, получаемый в строке 12 в файле the_game.as.
                public function SplashScreen(passed_class:Main) {
 
                        x = 100
                        y = 100
 
 
                        // Запоминем класс от которого пришли
                        main_class = passed_class;
                        // Добавляем слушателей кнопке для проверки
                        // когда игрок нажимает кнопку “play” или “how to play”.
                        addChild(play_butt); play_butt.x = 300;
                                  addChild(how_butt);
 
                        //play_butt.addEventListener(MouseEvent.CLICK, on_play_button_clicked);
                        //how_butt.addEventListener(MouseEvent.CLICK, on_how_butt_clicked);
 
                }
                //
                // Функция будет выполнена, когда пользователь нажмет кнопку play_button
                public function on_play_button_clicked(event:MouseEvent) {
                        // Обращаемся к функции play_the_game в основном классе.
                        // Я знаю какой основной класс благодаря переменной main_class.
 
                        trace(event.currentTarget)
                        main_class.play_the_game();
                }
                //
                public function on_how_butt_clicked(event:MouseEvent) {
                        trace('on_how_butt_clicked')
                        main_class.show_how_to_play();
                }
                //
 
        }
}



Часовой пояс GMT +4, время: 21:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.