SlyX 0 Denunciar post Postado Outubro 7, 2009 Seguinte, eu tenho um swf que ta funcionando normalmente (ele tem como document class o Carousel) o SWF isolado funciona perfeitamente, mas quando eu puxo ele para dentro do meu palco (com URLRequest) ele me da o seguinte erro: TypeError: Error #1009: Cannot access a property or method of a null object reference. at Carousel() alguem tem ideia do que seja? se precisar posso postar alguns códigos estou carregando o swf assim: var conteudo:MovieClip = new MovieClip(); conteudo.x = 74; conteudo.y = 60; addChild(conteudo); var _loader:Loader; function setupLoader():void { _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); conteudo.addChild(_loader); } function loadProgress(event:ProgressEvent):void { var percentLoaded:Number = event.bytesLoaded/event.bytesTotal; percentLoaded = Math.round(percentLoaded * 100); // trace("Loading: "+percentLoaded+"%"); } function loadComplete(event:Event):void { // trace("Complete"); } setupLoader(); function abrirConteudo(file:String):void { _loader.load(new URLRequest(file)); } abrirConteudo('carousel.swf'); Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Outubro 14, 2009 alguem? código do caroussel package { import flash.display.Sprite; import flash.display.MovieClip; // for the xml file import flash.net.URLLoader; import flash.net.URLRequest; // events import flash.events.Event; import flash.events.ProgressEvent; import flash.events.IOErrorEvent; import flash.events.MouseEvent; import flash.display.Loader; import flash.display.LoaderInfo; // graphics import flash.filters.BlurFilter; public class Carousel extends Sprite { private var xml:XML; private var it:Array = new Array(); // Item Array private var numOfItems:Number; private var radiusX:Number = 200; private var radiusY:Number = 30; private var centerX:Number = (stage.stageWidth/2) - 60; private var centerY:Number = (stage.stageHeight/2) - 130; private var speed:Number = 0.04; private var perspective:Number = 20; private var angle:Number; private var imgLoader:Loader; public function Carousel() { loadXML(); } private function loadXML():void { var loader:URLLoader = new URLLoader(); loader.load(new URLRequest("carousel.xml")); loader.addEventListener(Event.COMPLETE, loadItens); } private function loadItens(e:Event):void { // pull in the xml file and load the song data xml = new XML(e.target.data); var imglist:XMLList = xml.item.@image; numOfItems = imglist.length(); var ttlist:XMLList = xml.item.@titulo; for(var i=0;i<numOfItems;i++) { angle = i * ((Math.PI*2)/numOfItems); it.push(new Item(imglist[i],angle)); // Load in the image imgLoader = new Loader(); imgLoader.load(new URLRequest(it[i].earl)); // add to stage addChild(it[i]); // add image loader to the new mc it[i].addChild(imgLoader); } // animate addEventListener(Event.ENTER_FRAME, mover); // capture mouse events stage.addEventListener(MouseEvent.MOUSE_MOVE, adjustSpeed); } private function imageLoaded(e:Event):void { addChild(imgLoader); } private function mover(e:Event):void { for ( var b=0; b < it.length; b++ ) { // xpos it[b].x = Math.cos(it[b].itemAngle) * radiusX + centerX; // ypos it[b].y = (Math.sin(it[b].itemAngle) * 0 + centerY); // it[b].y = Math.sin(it[b].itemAngle) * radiusY + centerY; // perspective var s = ((Math.sin(it[b].itemAngle) * radiusY + centerY) - perspective)/(centerY+radiusY-perspective); it[b].scaleX = it[b].scaleY = s; // update it[b].itemAngle+= speed; } // rearrange sortZ(); } private function sortZ():void { it.sortOn("scaleX"); // re arrange by X scale in ascending order, by default for(var i:uint = 0; i < numOfItems; i++) { setChildIndex(it[i], i); } } private function adjustSpeed(m:MouseEvent):void { speed = (mouseX-centerX)/2500; } } } Compartilhar este post Link para o post Compartilhar em outros sites
Naty 3 Denunciar post Postado Outubro 15, 2009 Seguinte, eu tenho um swf que ta funcionando normalmente (ele tem como document class o Carousel) o SWF isolado funciona perfeitamente, mas quando eu puxo ele para dentro do meu palco (com URLRequest) ele me da o seguinte erro: TypeError: Error #1009: Cannot access a property or method of a null object reference. at Carousel() alguem tem ideia do que seja? se precisar posso postar alguns códigos estou carregando o swf assim: var conteudo:MovieClip = new MovieClip(); conteudo.x = 74; conteudo.y = 60; addChild(conteudo); var _loader:Loader; function setupLoader():void { _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); conteudo.addChild(_loader); } function loadProgress(event:ProgressEvent):void { var percentLoaded:Number = event.bytesLoaded/event.bytesTotal; percentLoaded = Math.round(percentLoaded * 100); // trace("Loading: "+percentLoaded+"%"); } function loadComplete(event:Event):void { // trace("Complete"); } setupLoader(); function abrirConteudo(file:String):void { _loader.load(new URLRequest(file)); } abrirConteudo('carousel.swf'); não sou nenhuma experte em AS3 mais não consegui achar quem esta executando a função abrirConteudo() Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Outubro 16, 2009 pelo que vi, o erro esta na inicialização das variáveis, nessa parte: private var centerX:Number = (stage.stageWidth/2) - 60; private var centerY:Number = (stage.stageHeight/2) - 130; você esta acessando o "stage", o problema é que essa propriedade só esta acessível quando o obejto esta palco, ou depois do addChild para resolver de forma simples, use um evento para saber quando o objeto foi adicionado ficaria assim: public function Carousel() { addEventListener( Event.ADDED_TO_STAGE, init) } public function init(e:Event):void { centerX = (stage.stageWidth/2) - 60; centerY = (stage.stageHeight/2) - 130; loadXML(); } só isso []´s Compartilhar este post Link para o post Compartilhar em outros sites