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

alanbus 13.06.2011 14:10

Как сделать переход с кадра на проигрыш предыдущего заданного
 
Интересует работа gotoAndPlay - только нужно, чтобы событием было не mousevent, а проигрыш кадра. Т.е. анимация доходит до када 50, после чего должен быть перескок на кадр 20.
Знаю, что это просто, но как - не пойму - новичок.

КорДум 13.06.2011 14:48

Код AS3:

mc.addEventListener(Event.ENTER_FRAME, _onEnterFrameHandler);
...
private function _onEnterFrameHandler(event:Event):void {
    if (mc.currentFrame === 50) mc.gotoAndPlay(2);
}

Добавлено через 4 минуты
Цитата:

Или использовать метод addframescript.
Ух ты, я и забыл про него! ;)

alanbus 13.06.2011 15:19

после вашего кода велезает набор ошибок!

Символ "bassmain", слой "@", кадр 97, строка 2 1084: Синтаксическая ошибка: identifier перед tripledot.
Символ "bassmain", слой "@", кадр 97, строка 5 1084: Синтаксическая ошибка: identifier перед rightbrace.
Символ "bassmain", слой "@", кадр 97, строка 3 1078: Метка должна быть простым идентификатором.Символ "bassmain", слой "@", кадр 97, строка 4 1084: Синтаксическая ошибка: identifier перед if.
Символ "bassmain", слой "@", кадр 97, строка 4 1084: Синтаксическая ошибка: colon перед dot.
Символ "bassmain", слой "@", кадр 97, строка 5 1084: Синтаксическая ошибка: identifier перед rightbrace.

Добавлено через 3 минуты
Ах, не убрал точки ...

но и без них

Символ "bassmain", слой "@", кадр 97, строка 3 1013: Атрибут "private" можно использовать для определений свойств класса.

что за private

КорДум 13.06.2011 15:27

Не пишите в кадрах.

alanbus 13.06.2011 15:50

как не писать? хорошо,я просто выделяю объект и захожу в actions
как понимаю, код должен быть привязан к кадру - о том и соощение Flash - в action script 3 код привязываетс я ккадрам, а не кладется на объект

КорДум 13.06.2011 15:51

Код должен быть в классах. В кадрах - это as1. Или очень ужасный as3, которому научили видеоуроки, за которые хочется руки оторвать.

alanbus 13.06.2011 15:52

и нет разницы, вбиваю ли я код над кадрами мувика, либо над самим главным мувиком.

КорДум 13.06.2011 15:54

Я вас не понимаю. Код в объектах писать не получится — as3 такого не позволяет. Есть возможность писать в кадрах, но это убого. Тем более писать в
Цитата:

Символ "bassmain", слой "@", кадр 97, строка 3

alanbus 13.06.2011 15:54

у меня flash cs 5.5 , as3 и чтоя не так делаю не так - не знаю. куда еще вставлять код?

КорДум 13.06.2011 15:55

Классы. Почитайте умные книжки типа Мука.

NikolyA 13.06.2011 15:59

если ты пишешь в кадрах, то убери private и оставь function и т.д.

alanbus 13.06.2011 16:02

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

Добавлено через 5 минут
Я пытался убрать private и оставлял такой код

movieClip_1.addEventListener(Event.ENTER_FRAME, _onEnterFrameHandler);

function _onEnterFrameHandler(event:Event):void {
if (movieClip_1.currentFrame === 7) movieClip_1.gotoAndPlay(50);
}



возникала ошибка:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at sujetvideo13_fla::bassmain_9/_onEnterFrameHandler()

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at sujetvideo13_fla::bassmain_9/_onEnterFrameHandler()

i.o. 13.06.2011 16:41

ну а movieClip_1 то существует вообще ? :)

alanbus 13.06.2011 17:09

Существует. Если бы не было, ошибка была бы другой.

Добавлено через 36 минут
Заработало. Сдела так.

movieClip_1.addEventListener(Event.ENTER_FRAME, fl_ClickToGoToAndPlayFromFrame_7);

function fl_ClickToGoToAndPlayFromFrame_7(event:Event):void
{
gotoAndPlay(50);
}


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

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