![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
Исправил, но это же на ошибку ни как не повлияло!
Добавлено через 12 минут Возможно ошибка из-за того, что я не в классе пишу а в кадрах? |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
import flash.display.Loader; import flash.net.URLRequest; var xml:XML; var loader:Loader = new Loader(); var loaderXML:Loader = new Loader(); loader.load(new URLRequest("experement.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); function onComplete(e:Event):void{ trace('load'); loaderXML.addEventListener("xmlComplete", handler); } function handler():void{ trace("Загрузка завершена, можно поместить на сцену."); addChild(loader); } function onProgress(e:ProgressEvent):void{ trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal); } |
|
|||||
|
Во-первых. Что такое loaderXML? Зачем он здесь?
loader грузит вашу experement.swf. В нем же и грузится xml, верно? И диспатчится событие тоже в нем. Во-вторых, handler должен принимать event:Event в качестве аргумента. Ошибка скорее всего из-за того, что в Вашей experement.swf идет обращение к еще не определившемуся stage.
__________________
тут я |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
Ну вот поисправлял
import flash.display.Loader; import flash.net.URLRequest; var xml:XML; var loader:Loader = new Loader(); loader.load(new URLRequest("experement.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); function onComplete(e:Event):void{ trace('load'); addEventListener("xmlComplete", handler); } function handler(event:Event):void{ trace("Загрузка завершена, можно поместить на сцену."); addChild(loader); } function onProgress(e:ProgressEvent):void{ trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal); } function handler():void{ trace("Загрузка завершена, можно поместить на сцену."); addChild(loader); } Добавлено через 9 минут а есть чтото похожее, чтобы посмотреть как там выполненно и где я допустил ошибку? Добавлено через 15 минут TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at experement_fla::MainTimeline/frame1() Вод код загружаемой swf что не так? stop(); import flash.net.URLLoader; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.SecurityErrorEvent; import flash.net.URLRequest; import flash.display.MovieClip; import flash.display.IBitmapDrawable; import flash.text.TextField; import fl.motion.easing.Exponential; var xml:XML; var xmlList; var dates:Array = new Array(); var closes:MovieClip = new close_(); var bloker:MovieClip = new bloker_(); var degree:Number = 0; var val:int; var url:String; var obj_2:MovieClip; var lenta:Number; var boo:Boolean=false; var minText:int; var maxText:int; var koord_1:Number; var btnb: MovieClip = new btn_(); var listingChild: MovieClip = new listingChild_(); var scrollBar:MovieClip = new scroll_Bar(); var scroller: MovieClip = new scroller_(); var listing: MovieClip = new listing_(); var _exp: MovieClip = new exp(); var contents: MovieClip = new menus(); //var completeLoad:MovieClip = new completeLoad_(); //addChild(completeLoad); contents.mask = mask_mc; contents.x=6.40; contents.y=50; var loader:URLLoader; vybor.addEventListener(MouseEvent.CLICK, gotoMenus) function gotoMenus(e:MouseEvent):void{ trace('menus'); loadCont(); addChild(bloker); bloker.y=415; bloker.alpha=0.8; } function loadXML(file:String):void{ var xmlLoader:URLLoader = new URLLoader(); xmlLoader.load(new URLRequest(file)); xmlLoader.addEventListener(Event.COMPLETE, comleteLoading); } function comleteLoading(e:Event):void{ dispatchEvent(new Event("xmlComplete"));//ловите его в прелоадере, это и будет полной загрузкой xml = XML(e.target.data); xmlList = xml.children(); trace(xml); //removeChild(completeLoad); loadMenus(); } var obj:MovieClip; function loadMenus(){ for(var i:int=0; i<xmlList.length(); i++){ var xmlListchild = xml.menu[i].children(); var temp:MovieClip = new btn(); temp.x = 0; temp.y = 24*i; temp.buttonMode = true; temp.useHandCursor = true; contents.addChild(temp); var txt:TextField = new TextField(); var newFormat:TextFormat = new TextFormat(); txt.y = 3; txt.selectable = false; txt.width = 200; txt.height = 20; newFormat.font = "Arial"; newFormat.bold=true; newFormat.size = 12; newFormat.color=0x000000; txt.text = xml.menu[i].@id; temp.addChild(txt); txt.setTextFormat(newFormat); txt.mouseEnabled = false; temp.addEventListener(MouseEvent.CLICK, btnClick) temp.addEventListener(MouseEvent.MOUSE_OVER,goanimation); temp.addEventListener(MouseEvent.MOUSE_OUT,mouse_OUT); temp.length = xmlListchild.length(); temp.children=xml.menu[i].children(); } } function goanimation(e:MouseEvent):void { obj = MovieClip(e.target); obj.gotoAndStop(2); } function mouse_OUT(e:MouseEvent):void { obj = MovieClip(e.target); obj.gotoAndStop(1); } function btnClick (e:MouseEvent):void{ function removeAllChildren() : void { while (listing.numChildren) listing.removeChildAt(0); } listing.y=0; scroller.y=0; removeAllChildren(); for(var i:int=0; i<e.target.length;i++){ contents.addChild(listing); var btn_child:MovieClip = new btnchild(); btn_child.x = 210; btn_child.y = i*23.5; var txtChild:TextField = new TextField(); var newFormat:TextFormat = new TextFormat(); txtChild.y = 5; txtChild.selectable = false; txtChild.width = 200; txtChild.height = 20; newFormat.size = 13; newFormat.color=0xffffff; txtChild.text = e.target.children[i].attributes()[0]; listing.addChild(btn_child); btn_child.addChild(txtChild); //trace(listing.height) txtChild.setTextFormat(newFormat); txtChild.mouseEnabled = false; btn_child.minText=e.target.children[i].attributes()[1]; btn_child.maxText=e.target.children[i].attributes()[2]; btn_child.linkUrl=e.target.children[i].attributes()[3]; btn_child.addEventListener(MouseEvent.MOUSE_OVER,goanimationbtn); btn_child.addEventListener(MouseEvent.MOUSE_OUT,mouse_OUTbtn); btn_child.addEventListener(MouseEvent.CLICK, linkto); } function goanimationbtn(e:MouseEvent):void { obj_2 = MovieClip(e.target); obj_2.gotoAndStop(2); } function mouse_OUTbtn(e:MouseEvent):void { obj_2 = MovieClip(e.target); obj_2.gotoAndStop(1); } function linkto(e:Event):void{ removeChild(bloker); minText=e.target.minText; maxText=e.target.maxText; url= e.target.linkUrl; boo=true; minT.text=e.target.minText+' mm'; maxT.text=e.target.maxText+' mm'; contents.removeChild(listing); removeChild(contents); touh.TOUCHPAD.cont.val.text=minText; touh.TOUCHPAD.roll.x=0; touh.TOUCHPAD.cont.x=0; degree=0; functTrace(); functTrace1(); } btn_2.addEventListener(MouseEvent.CLICK, linktoUrl); function linktoUrl(e:Event):void{ var request:URLRequest = new URLRequest(url); navigateToURL(request, 'blank'); } if(listing.height>=stage.stageHeight){ scroller.height = (scrollBar.height/(listing.height))*scrollBar.height; addChild(scrollBar); scrollBar.x=674; scrollBar.y=51; scrollBar.addChild(scroller); scroller.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownh); stage.addEventListener(MouseEvent.MOUSE_UP, places); //stage.addEventListener(MouseEvent.MOUSE_WHEEL, scrollandBar); function mouseDownh(e:MouseEvent):void { scroller.startDrag(false, new Rectangle(0,0, 0,scrollBar.height-scroller.height)); stage.addEventListener(MouseEvent.MOUSE_MOVE, changesY); } /*function scrollandBar (e:MouseEvent):void{ if(scroller.y>=scrollBar.height-scroller.height-3) scroller.y=scrollBar.height-scroller.height-3; if(scroller.y<=3) scroller.y=3; scroller.y=scroller.y-e.delta; listing.y = -listing.height*(scroller.y/scrollBar.height); e.updateAfterEvent(); }*/ function places(e:MouseEvent):void{ scroller.stopDrag(); stage.removeEventListener(MouseEvent.MOUSE_MOVE, changesY); } function changesY (e:MouseEvent):void{ listing.y = -listing.height*(scroller.y/scrollBar.height); e.updateAfterEvent(); } } if(listing.height<=stage.stageHeight){ removeChild(scrollBar); listing.y=0; } } function loadCont(){ addChild(contents); contents.addChild(closes); closes.y=330; closes.buttonMode = true; closes.useHandCursor = true; closes.useHandCursor = true; closes.addEventListener(MouseEvent.MOUSE_OVER,closesOVER); closes.addEventListener(MouseEvent.MOUSE_OUT, closesOUT); closes.addEventListener(MouseEvent.CLICK, closesCLICK); } function closesOVER(e:Event):void{ closes.gotoAndStop(2); } function closesOUT(e:Event):void{ closes.gotoAndStop(1); } function closesCLICK(e:Event):void{ removeChild(contents); removeChild(bloker); functTrace1(); boo=false; } function functTrace1():void{ removeChild(scrollBar); } loadXML("xml.xml"); Последний раз редактировалось sneltyn; 21.01.2012 в 22:10. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
Выдает ошибку
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at experement_fla::MainTimeline/frame1() Я же правильно сделал? import flash.display.Loader; import flash.net.URLRequest; var xml:XML; var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); loader.load(new URLRequest("experement.swf")); function onComplete(e:Event):void{ loader.content.addEventListener("xmlComplete", handler); trace('load'); } function handler(event:Event):void{ trace("Загрузка завершена, можно поместить на сцену."); addChild(loader); } function onProgress(e:ProgressEvent):void{ trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal); } |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:05. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|