Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   проблема с MovieClip (http://www.flasher.ru/forum/showthread.php?t=144519)

igogor 14.09.2010 13:33

проблема с MovieClip
 
есть мувик с именем myMC. В нем есть кнопка с именем myBtn.

пишу в классе
Код AS3:

myMC.myBtn.addEventListener(MouseEvent.CLICK, onClick);
private function onClick(e:MouseEvent):void {
  trace('OK');
}

А ничего не происходит когда кликаю по кнопке.
когда написал тоже в FLA файле, в кадре - работает.
в чем проблема?
мне нада достучаться до кнопки из класса.

gloomyBrain 14.09.2010 13:37

Цитата:

есть мувик с именем myMC
Где он есть? Ваш класс знает что такое myMC?

samana 14.09.2010 13:40

Мне особенно понравилась строчка
Код:

myMC.myBtn.addEventListener(Event.MouseEvent, onClick);

igogor 14.09.2010 13:41

да в свойствах мувиклипа писал КЛАСС myMC. БАЗОВЫЙ КЛАСС MovieClip

Добавлено через 48 секунд
Цитата:

Сообщение от samana (Сообщение 935818)
Мне особенно понравилась строчка
Код:

myMC.myBtn.addEventListener(Event.MouseEvent, onClick);

Что именно понравилось

samana 14.09.2010 13:44

Такого не существует! Если ловите клик то
Код AS3:

MouseEvent.CLICK

Странно что во fla файле у вас работало...

igogor 14.09.2010 13:53

Это я натупил (файла под рукой нет). а по вопросу можете что нибудь ответить?

gloomyBrain 14.09.2010 14:00

Цитата:

пишу в классе
В том классе, в котором Вы пишите, должна быть ссылка на myMC
То есть
Код AS3:

package {
 
        import flash.display.Sprite;
        import flash.events.MouseEvent;
 
        public class SomeClass extends Sprite {
 
                // объявляем переменную
                private var _mymc:MyMC;
 
                public function SomeClass() {
 
                        // задаем переменной значение
                        this._mymc = new MyMC();
 
                        // добавляем на сцену
                        this.addChild(this._myMC);
 
                        // добавляем слушатель
                        this._mymc.btn.addEventListener(MouseEvent.CLICK, onBtnClick);
 
                }
 
                private function onBtnClick(event:MouseEvent):void {
                        trace("OK")
                }
 
        }
 
}


igogor 14.09.2010 14:28

СПАСИБО. Разобрался

jony_e 17.09.2010 14:53

в некоторых случаях проблема может быть в том, что кнопка представлена в виде мувиклипа, а в этом мувиклипе находятся еще мувиклипы. У меня такая проблема была с даблкликом, тогда помогает
Код AS3:

DisplayObject.mouseChildren = false;



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

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