Форум 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=90692)

Belevich 16.01.2007 18:50

Глюк при доступе к объектам расположенным на таймлайне Мувиклипа?
 
Есть мувик, допустим в нём 3 ключевых кадра, на каждом из которых лежит Shape. Клип связан с классом

Код:

package {
        import flash.display.MovieClip;
        import flash.display.DisplayObject;
        import flash.events.Event;
       
        public class ClipTest extends MovieClip {

                public function ClipTest():void {
                        addEventListener(Event.ENTER_FRAME,enterFrame);
                        gotoAndPlay(1);
                }
               
                function enterFrame(event:Event):void {
                        trace("Enter frame: ",currentFrame);
                        var shape:DisplayObject = getChildAt(0);
                        if (shape) {
                                  trace("Shape finded");
                        } else {
                                trace("Shape is null!!!!!!!!!!");
                        }

                }
               
        }
}

Получаем, что когда клип прокручивает весь таймлайн и переходит вновь на 1ый фрейм, вложенный Shape у него null, на втором фрейме всё ок!
Это похоже на глюк, м.б. я чего-то не понимаю?

miramax 16.01.2007 18:53

Логичнее объявить все шэйпы и управлять их свойствами visible.

Belevich 16.01.2007 19:05

Цитата:

Сообщение от miramax
Логичнее объявить все шэйпы и управлять их свойствами visible.

Почему это логичнее?
Т.е. я делаю не логично, и поэтому null это нормально?
Как это объявить все шейпы? В моей Flash 9 Alpha нету возможности поставить галочку Export for action script для шейпов.

Мне интересно глюк это или это нормальное поведение MovieClip'a
У меня есть много клипов, я загружаю их из внешней библиотеки, и вставляю в Sprite. По каким-то событиям, я запускаю на проигрывание какие-то клипы, но мне нужно иметь доступ к шейпам лежащим на фреймах этих клипов (так как я знаю точно что все клипы содержат по одному шейпу на фрейме).

etc 16.01.2007 20:29

Почему нельзя дать имена шейпам (или вроде их нельзя задать, я не смотрел)? Их глубина вовсе может быть не одинаковой.

Nirth 17.01.2007 12:33

Код:

var shape:DisplayObject;
if (getChildAt(0)) {
    shape = getChildAt(0);                         
    trace("Shape finded");
} else {
    trace("Shape is null!!!!!!!!!!");
}



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

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