![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2012
Сообщений: 28
|
Ошибка смены картинки. По задумке вместо сцены 1 с небом и текстом, появляется другой фон с героем анимации. Героя так и не видно..Что я не так прописываю? помогите ради всех святых кто-нибудь!!((
Последний раз редактировалось Ksenya23; 26.12.2012 в 00:14. |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Просто когда создаёшь слушатель события addEventListener, снимать нужно его же, например:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded); // или addEventListener(Event.ENTER_FRAME, moveDown); removeEventListener(Event.ENTER_FRAME, moveDown); package { import flash.display.Sprite; import flash.events.Event; import flash.display.Bitmap; import flash.display.Loader; import flash.net.URLRequest; import flash.display.DisplayObject; public class Main extends Sprite { private var _myClip:MyClip; // здесь указываем тип класса из библиотеки private var _man:MyAnotherClip; private var speed:Number=0.1; private var loader:Loader; private var url:URLRequest; private var url1:URLRequest; private var req:URLRequest; private var imgLoader:Loader; private var imgpng:Imgpng; 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); loader = new Loader(); url = new URLRequest("img.png"); loader.load(url); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); } private function onLoaded(e:Event):void { loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded); _myClip = new MyClip(); addChild(e.target.content as DisplayObject); addChild(_myClip); _myClip.x = 40; addEventListener(Event.ENTER_FRAME, moveDown); } private function moveDown(e:Event):void { speed+=0.2; _myClip.y += speed; //проверяем когда нам надоест движение и удаляем if (_myClip.y > 300) { removeEventListener(Event.ENTER_FRAME, moveDown); removeChild(_myClip); _myClip = null; //допустим показываем другой клип из библиотеки, который содержит анимацию на 100 кадров somethingElse(); } } private function somethingElse():void { url1 = new URLRequest("fon1.jpg"); loader.load(url1); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, theElsen); } private function theElsen(event:Event):void { loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, theElsen); _man = new MyAnotherClip(); addChild(_man); _man.x = 40; addEventListener(Event.ENTER_FRAME, moveout); } private function moveout(e:Event):void { speed+=0.2; _man.y += speed; //проверяем когда нам надоест движение и удаляем if (_man.y > 300) { removeEventListener(Event.ENTER_FRAME, moveout); removeChild(_man); _man = null; //допустим показываем другой клип из библиотеки, который содержит анимацию на 100 кадров theEnd(); } } private function theEnd():void { // здесь нельзя использовать _man так как ранее его занулили (= null), его уже нет } } }
__________________
Нормально делай — нормально будет! |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|