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

firefedot 22.11.2013 00:18

Переход по кадрам из класса
 
Доброе...
Подскажите как из подгружаемого класса перейти на нужный кадр.
На таймлайне 5 кадров. на 5 кадре начинает работу класс. по завершению нужно перейти а первый кадр, его label = "startTest ".
Код AS3:

gotoAndPlay("startTest ");

ругается на то что не может найти кадр сцене
Цитата:

ArgumentError: Error #2109: Метка кадра startTest в сцене startTest не найдена.
at flash.display::MovieClip/gotoAndPlay()
Если пишу так:
Код AS3:

gotoAndPlay("startTest ","Scene1");

тоже ругается:
Цитата:

ArgumentError: Error #2108: Сцена Scene1 не найдена.
at flash.display::MovieClip/gotoAndPlay()
Подскажите как правильно настроить переход к нужному кадру?
Спасибо.

ZackMercury 22.11.2013 01:53

Код AS3:

"startTest "

А зачем вам пробел в идентификаторе?

firefedot 22.11.2013 07:15

тут пробел - это опечатка в коде его нет...

Hauts 22.11.2013 08:42

firefedot, очевидно, что если метка есть, а плеер ругается на её отсутствие, значит вы не с тем мувиклипом работаете.

Добавьте trace-ов после каждой строчки и проверьте, к чему вы обращаетесь, вызывая gotoAndPlay.

firefedot 22.11.2013 12:31

Там суть такая: идут кадры в каждом есть свои мувиклипы, на последнем кадре их тоже много, и вызывается класс, повешен на один клип, по выполнению класса, хочу перейти в начала таймлайна.
Не могу понять, как правильно повесить gotoAndPlay, чтобы он пошел в самое начало всего.

Hauts 22.11.2013 12:38

Цитата:

и вызывается класс, повешен на один клип, по выполнению класса, хочу перейти в начала таймлайна
С падежой проблемы :)

Попробуйте создать тестовый фла с аналогичной структурой и скидывайте сюда, посмотрим.

firefedot 22.11.2013 13:56

хм.. да ... с правописание на скорую руку проблемы. прошу прощения)
Вот класс, его вешаю на объект и когда
Код AS3:

package net {
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        import flash.geom.Point;
 
        public class drag extends MovieClip {
 
                protected var originalPosition:Point;
                public static var i,a,b:int;
 
                public function drag() {
 
                        m = new myVariable();
                        originalPosition = new Point(x,y);
                        buttonMode = true;
                        addEventListener(MouseEvent.MOUSE_DOWN, down);
                }
 
                protected function down(event:MouseEvent):void{
                        parent.addChild(this);
                        startDrag();
 
                        stage.addEventListener(MouseEvent.MOUSE_UP, stageUp);
 
                }
 
                protected function stageUp (event:MouseEvent):void{
                        stage.removeEventListener(MouseEvent.MOUSE_UP, stageUp);
                        stopDrag();
 
                        if(dropTarget){
 
                                if(dropTarget.parent.name == "cel"){
                                        trace(event.target.name);
                                        //scaleX = scaleY = 0.2;
                                        alpha = 0.5;
                                        //y = stage.stageHeight - height - 10;
                                        y=dropTarget.parent.y + 5;
                                        x=dropTarget.parent.x + 5;
 
                                        buttonMode = false;
                                        removeEventListener(MouseEvent.MOUSE_DOWN, down);
 
 
                                }else if(dropTarget.parent.name == "cel2"){
                                        trace(event.target.name);
                                        //scaleX = scaleY = 0.2;
                                        alpha = 0.5;
                                        //y = stage.stageHeight - height - 10;
                                        y=dropTarget.parent.y + 5;
                                        x=dropTarget.parent.x + 5;
 
                                        buttonMode = false;
                                        removeEventListener(MouseEvent.MOUSE_DOWN, down);
 
 
                                } else if(dropTarget.parent.name == "cel3"){
                                        trace(event.target.name);
                                        if (event.target.name == "dnd"){
                                                trace("i = "+i);
                                                i++;
                                                trace("i = "+i);
 
                                          gotoAndPlay("startTest");
                                        } else if(event.target.name == "dnd2"){
                                                a++;
                                                trace("a = "+a);
                                        }else if(event.target.name == "dnd3"){
                                                b=b+6;
                                                trace("b = "+b);
                                        }
                                        //scaleX = scaleY = 0.2;
                                        alpha = 0.5;
                                        //y = stage.stageHeight - height - 10;
                                        y=dropTarget.parent.y + 5;
                                        x=dropTarget.parent.x + 5;
 
                                        buttonMode = false;
                                        removeEventListener(MouseEvent.MOUSE_DOWN, down);
 
 
                                }
 
                        }else{
                                returnToOriginalPosition();
                        }
                }
 
                protected function returnToOriginalPosition():void{
                        x = originalPosition.x;
                        y = originalPosition.y;
                }
 
        }
 
}


Hauts 22.11.2013 14:55

firefedot, мне этот код ничего не говорит о вашей задаче, но говорит о ваших некритических ошибках.

Боюсь я не в силах вам помочь до тех пор, пока не выложите архив с исходником. С упрощенным исходником.

firefedot 22.11.2013 16:43

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

Добавлено через 1 минуту
А вот вообще, если я в классе вызывают gotoAndPlay, то проблем быть не должно или он работает только внутри того мувика, в котором вызывается класс?
Блин, надо все-таки Мука прочитать...

alexandrratush 22.11.2013 17:11

Цитата:

Блин, надо все-таки Мука прочитать...
И не писать код в кадрах, потому что так тяжелее отследить работу программы.


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

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