![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2012
Сообщений: 28
|
Здравствуйте. Передо мной стоит задача запрограммировать мультик с помощью actionscript 3.0. По задумке, созданы несколько слоев, в один кадр - сцен, в которые будут добавляться символы для обработки действий над ними. Как новичок, для начала закончила обработку 1-ой сцены, без использования внешнего класса actionscript. А для перехода к следующему кадру, использовала gotoAndPlay(). В результате осуществлялся переход, но предыдущие действия игнорировались. Подскажите пожалуйста, как это осуществляется, какой подход применить или лучше сделать, на этом этапе курсовой работы
вложен скриншот |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 125
|
Сцена - она одна. А слои - это лишь представление уровней наложения объектов в Adobe Flash.
Где у вас gotoAndPlay() прописан? |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 28
|
По идее в конце всего кода, был. Неверно? Как обычно поступают? если я хочу создать эффект смены сцен сценария?
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 125
|
Я не понимаю, что вы подразумеваете под "эффект смены сцен сценария" =)
По коду на картинке вы создаете экземпляр клипа из библиотеки, добавляете на сцену, и двигаете вниз по энтерфрейму. Напишите, что вы хотите получить, что делаете и в каком моменте не получается. |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 28
|
Мне нужно, чтобы этот кусочек кода выполнился; затем удалились объекты со сцены, без игнорирования кода, и к новым добавленным объектам прописать другие строчки кода..такое возможно?)
Добавлено через 26 минут помогите кто-нибудь новичку..встал на грабли(( курсовая горит! |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 125
|
Убираете весь код с таймлайна.
В свойствах документа указывает класс Main. Создаете *.as файл с именем Main, там же где ваш *.fla package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { private var _myClip:*; public function Main():void { if (stage) { init(); } else { addEventListener(Event.ADDED_TO_STAGE, init); } } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); _myClip = new MyClip(); addChild(_myClip); _myClip.x = 40; addEventListener(Event.ENTER_FRAME, moveDowm); } private function moveDowm(e:Event):void { _myClip.y += 0.5; //проверяем когда нам надоест движение и удаляем if (_myClip.y > 300) { removeEventListener(Event.ENTER_FRAME, moveDowm); removeChild(_myClip); _myClip = null; //допустим показываем другой клип из библиотеки, который содержит анимацию на 100 кадров somethingElse(); } } private function somethingElse():void { _myClip = new MyAnotherClip(); addChild(_myClip); _myClip.addEventListener(Event.ENTER_FRAME, theEnd); } private function theEnd(e:Event):void { if(_myClip.currentFrame == 100){ _myClip.removeEventListener(Event.ENTER_FRAME, theEnd); _myClip.gotoAndStop(100); //останавливаем на 100 кадре } //делаем что-нибудь еще } } } С кодом на кадрах я вам не помогу, ибо не в курсе нюансов. Вроде обычно создают отдельный "слой" и в первом кадре пишут весь код. |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 28
|
Счас попробую! Спасибо!!
Добавлено через 51 минуту Я именно так и делала, по видеоуроку(код на кадрах) Добавлено через 1 час 47 минут Выдает ошибки о несуществующем свойстве:[IMG]C:\Users\Ксюша\Desktop\mult\ошибка2[/IMG] Добавлено через 2 часа 11 минут Все работает, болльшое человеческое спасибо! |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|