Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с gotoAndPlay (http://www.flasher.ru/forum/showthread.php?t=94920)

S_lip 23.04.2007 14:46

Проблема с gotoAndPlay
 
Вложений: 1
Hello world!
У меня небольшая проблема при создании ролика на Flash Lite 1.1.

Мой файл выглядит так:
[IMG]http://img151.**************/img151/6969/untitled2vd1.png[/IMG]

В нём находятся три фрейма с названиями act1, act2 и act3.
А в первом кадре находится код:
Код:

FSCommand2( "FullScreen", true )
FSCommand2( "SetQuality", "high" )
_focusrect = false;

gotoAndPlay("act1");
gotoAndPlay("act3");
gotoAndPlay("act2");
gotoAndPlay("act3");
stop();

Мне нужно, чтобы фрейм, после того как он проигрался, возвращался бы обратно, откуда был вызван и код продолжал бы выполняться. Т.е. чтобы проигрывались последовательно act1, act3, act2 и act3.
Он когда я запускаю ролик, то он показывает первый act3 кадр и всё.
Помогите решить проблему.

fla файл:

iNils 23.04.2007 15:07

Уберите все gotoAndPlay и stop, и ваша флешка сама будет проигрывать все последовательно.

S_lip 23.04.2007 15:25

Спасибо за предложение, iNils! Но боюсь, что тогда последовательности act1, act3, act2, act3 не будет. Вместо неё будет act1, act2, act3.

Терминатор 23.04.2007 15:42

Вложений: 1
просто напшите gotoandplay() в кадрах и все.... Вам примерно это надо было???

iNils 23.04.2007 15:58

Хм, я не заметил, что у вас не все по порядку. В любом случаи, способ который вы избрали, то есть указать подряд gotoAndPlay, работать не будет, так как они будут вызваны все сразу, а не после проигрывания кждого участка. И поэтому сработает только последний gotoAndPlay("act3"), а следующий за ним stop, остановит анимацию.

S_lip 23.04.2007 17:05

iNils, спасибо! Теперь я понял.

Терминатор, то, что вы предлагаете сделать, это: оставить в коде первого кадра только первые 3 строки и приписать i=0;, в конце act1 написать gotoAndPlay("act3");, в конце act2 прописать gotoAndPlay("act3");, а в конце act3:
Код:

if (i eq 0) {
        i++;
        gotoAndPlay("act2");
} else {
        i--;
        gotoAndPlay("act1");
}

Это верный вариант или есть более простые способы?


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

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