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

grumbler0 20.04.2011 13:04

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

Если нельзя сделать ,что бы картинка поменялась по команде с компа на клавиатуре ,то можно ,наверно создать кнопку на самой картинке ,при нажатии на которую (курсором мышки) картинка менялась на следующую...
Кнопки создавать умею,Анимацию и символы создавать тоже умею...подскажите только какой код прописать и где...
Пожалста! Очень надо

samana 20.04.2011 20:15

Вложений: 1
Цитата:

Будет картинка ,а на ней нарисую какие то действия и нужно что бы эта анимация проигрывалась и проигрывалась ,каждый раз заново
(там вроде ,нужно прописать какой то простенький код на последнем кадре)...
Клипы и так по умолчанию проигрываются по кругу.
Вам нужно создать клипы и в библиотеке задать им классы (ПКМ по клипу в библиотеке -> Properties, флаг Export for AS и написать имя в поле Class). После чего, небольшой код в первом кадре:
Код AS3:

var current:int=0;//счётчик количества клипов-сцен
var all_scenes:Array=[new Scene1(),new Scene2(), new Scene3()];//массив со всеми клипами-сценами
 
addChild(all_scenes[current++]);//добавляем на сцену первый из списка клип
 
//при клику по сцене, клипы буду по очереди сменять друг друга по кругу
stage.addEventListener(MouseEvent.CLICK, stage_click);
function stage_click(e:MouseEvent):void
{
        if(current > all_scenes.length-1) {current=0}
 
        removeChildAt(0);
        addChild(all_scenes[current++])
}

Если что-то не получилось, то исходник ниже (cs4)

grumbler0 21.04.2011 10:25

Всё сделал ,всё получилось ,но слелдующий клип включается не с первого кадра , а где то посередине, а нужно именно что бы с первого...
Мне нужно ,что бы при нажатии на курсор мышки ,был переход на следующий клип
НО,именно на первый кадр (этого ,следующего,клипа) а не каждый раз на кадр ,где то в середине (следующего) клипа...
Может там какой-нибудь ещё код прописывать уже в самих клипах (пока я их ещё создаю)?
Объясните пожалста .Очень нужно...Уже десятого числа работу отдавать ,а у меня всё нарисовано,но клипы меняются не так как надо(сразу в середину)а мне нужно что бы : в первом клипе был только занавес (при нажатии на курсор) на экране .занавес открывался (а не появлялся сразу открытым из-за того что сразу перескочили на середину следующего клипа)

то что у меня получилось:
http://onemove.ru/49286/

ED.NN 07.05.2011 20:37

UP теме ,тот-же вопрос.

Где мое предыдущее сообщение?

alexg 08.05.2011 16:11

Добавьте такой код в тело скрипта (к тому, что у вас уже есть)
Код AS3:

for (var i:int = 0; i < all_scenes.length; i++)
{
        all_scenes[i].addEventListener (Event.ADDED_TO_STAGE, function(e:Event):void
        {
                e.target.gotoAndPlay (0);
        });
}


wvxvw 08.05.2011 18:13

ED.NN:
На форуме премодерация до двух сообщений.

grumbler0 08.05.2011 21:11

alexg
Вы меня спасли! Спасибо огромное,всё получилось!:)
Цитата:

ну уж как смог - я ж не профи.
Ну это как посмотреть)))

КорДум 08.05.2011 21:21

Цитата:

Сообщение от alexg (Сообщение 994852)
Добавьте такой код в тело скрипта (к тому, что у вас уже есть)
Код AS3:

for (var i:int = 0; i < all_scenes.length; i++)
{
        all_scenes[i].addEventListener (Event.ADDED_TO_STAGE, function(e:Event):void
        {
                e.target.gotoAndPlay (0);
        });
}


Ужас какой. Или это потому, что человек просил молниеносно помочь?

alexg 08.05.2011 21:30

КорДум, ну уж как смог - я ж не профи. Ещё есть время сделать лучше, предлагайте.

КорДум 08.05.2011 21:32

Анонимную функцию вон из анонимности!

carrotoff 08.05.2011 21:39

Цитата:

Сообщение от КорДум (Сообщение 994934)
Анонимную функцию вон из анонимности!

+1. Всеми руками и ногами


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

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