niva
%Europe/Berlin %992 %2007, 00:48
Hoi Allemaal,
Ik heb een vraagje, ik heb een class gemaakt die een jpg inlaat. Allemaal niet zo spannend, werkt ook naar behoren alleen heb ik een probleem met de preloader.
De preloader is een movieclip die in mijn library zit (class: progressBar) en die doormiddel van linkage kan worden benaderd. Zijn Base class is flash.display.MovieClip, dus hij moet alle methods en properties van de movieclip hebben. Echter als ik in mijn rotator class probeer de gotoAndStop() aan te roepen gaat hij lopen piepen, dan krijg ik volgende foutmelding:
1061: Call to a possibly undefined method gotoAndStop through a reference with static type flash.display:DisplayObject.
Ik kan wel gewoon de x en y setten maar de methods lijken niet te werken.
Als ik gewoon in mijn fla file de gotoAndStop op het progressBar object gebruik dan werkt het prima... kan iemand me helpen?
Code in mijn Fla
var container:MovieClip = new MovieClip();
var pb:progressBar = new progressBar();
container.addChild(pb);
addChild(container);
var r:rotator = new rotator("1.jpg", "hier is mijn stukje tekst", container);
Code in mijn rotator.as
package{
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.*;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.text.TextField;
import flash.display.DisplayObject;
public class rotator{
public function rotator(imgsrc:String, txt:String, container:MovieClip):void {
var rotatorContainer:MovieClip = new MovieClip();
var tf:TextField = new TextField();
//load image
var url:URLRequest = new URLRequest(imgsrc);
var imageLoader:Loader = new Loader();
function completeHandler(event:Event):void {
//do complete
trace("done loading");
}
function progressHandler(pe:ProgressEvent):void {
container.getChildAt(0).x = 30;
container.getChildAt(0).y = 30;
container.getChildAt(0).gotoAndStop(5);
//container.getChildAt(0).gotoAndStop(Math.round(pe. bytesLoaded / pe.bytesTotal * 10));
}
imageLoader.contentLoaderInfo.addEventListener(Eve nt.COMPLETE, completeHandler);
imageLoader.contentLoaderInfo.addEventListener(Pro gressEvent.PROGRESS, progressHandler);
imageLoader.load(url);
container.addChild(imageLoader);
}
}
}
Ik heb een vraagje, ik heb een class gemaakt die een jpg inlaat. Allemaal niet zo spannend, werkt ook naar behoren alleen heb ik een probleem met de preloader.
De preloader is een movieclip die in mijn library zit (class: progressBar) en die doormiddel van linkage kan worden benaderd. Zijn Base class is flash.display.MovieClip, dus hij moet alle methods en properties van de movieclip hebben. Echter als ik in mijn rotator class probeer de gotoAndStop() aan te roepen gaat hij lopen piepen, dan krijg ik volgende foutmelding:
1061: Call to a possibly undefined method gotoAndStop through a reference with static type flash.display:DisplayObject.
Ik kan wel gewoon de x en y setten maar de methods lijken niet te werken.
Als ik gewoon in mijn fla file de gotoAndStop op het progressBar object gebruik dan werkt het prima... kan iemand me helpen?
Code in mijn Fla
var container:MovieClip = new MovieClip();
var pb:progressBar = new progressBar();
container.addChild(pb);
addChild(container);
var r:rotator = new rotator("1.jpg", "hier is mijn stukje tekst", container);
Code in mijn rotator.as
package{
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.*;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.text.TextField;
import flash.display.DisplayObject;
public class rotator{
public function rotator(imgsrc:String, txt:String, container:MovieClip):void {
var rotatorContainer:MovieClip = new MovieClip();
var tf:TextField = new TextField();
//load image
var url:URLRequest = new URLRequest(imgsrc);
var imageLoader:Loader = new Loader();
function completeHandler(event:Event):void {
//do complete
trace("done loading");
}
function progressHandler(pe:ProgressEvent):void {
container.getChildAt(0).x = 30;
container.getChildAt(0).y = 30;
container.getChildAt(0).gotoAndStop(5);
//container.getChildAt(0).gotoAndStop(Math.round(pe. bytesLoaded / pe.bytesTotal * 10));
}
imageLoader.contentLoaderInfo.addEventListener(Eve nt.COMPLETE, completeHandler);
imageLoader.contentLoaderInfo.addEventListener(Pro gressEvent.PROGRESS, progressHandler);
imageLoader.load(url);
container.addChild(imageLoader);
}
}
}