Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   addEventListener(MouseEvent, - для внешнего swf, не работает слушатель (http://www.flasher.ru/forum/showthread.php?t=170789)

ShockWave512 02.11.2011 02:21

addEventListener(MouseEvent, - для внешнего swf, не работает слушатель
 
- есть проект на чистом ас3, (флеш билдер)
- есть простая swf-ка собранная на Flash Pro (cs5.5), внутри MovieClip с вкраплениями Bitmap-ов
- после загрузки swf шлепается на stage и битмапам вешаются слушатели
примерно так
Код AS3:

for ( var i4:int =0; i4 < o.numChildren; i4++ )
{
        var o2:* = o.getChildAt(i4);
 
        if ( "flash.display::Bitmap" == getQualifiedClassName(o2) )
        {
                var s:String = getQualifiedClassName((o2 as Bitmap).bitmapData);
 
                if ( s.indexOf("PLACE_CELL") != -1 )
                {
                        (o2 as Bitmap).addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
                        (o2 as Bitmap).addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
                }
      }
}

- дебаг срабатывает в момент добавления слушателя, без ошибок
- при работе, наведение мышки не вызывает слушателя
- делаю после цикла тестовый спрайт, эти же слушатели работают отлично

куда копать? что переделать в swf?

t4arty 02.11.2011 03:13

вроде как битмапы не могу слушать события мыши, оборачивайте их спрайтом и веселитесь ;)

ShockWave512 02.11.2011 13:02

да, как то я упустил столь существенную деталь

DCH 02.11.2011 13:12

Еще есть момент с applicationDomain
Код AS3:

loaderСontext.applicationDomain = ApplicationDomain.currentDomain

Вроде что-то такое.
Еще очень важно, чтобы скомпилена swf была под as3, иначе они в разных VM исполняться будут, а это уже совсем другая история.


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

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