Question

I'm making a game in actionscript using the FlashDevelop tool and the FlashPunk game engine. I have a designer making movie clips for me to put into this game using Flash CS3.

My problem is that when I add these movie clips into my game they are playing much quicker than they should. Is there a specific frame rate clips need to be made in within CS3 or any other export options set to enable them to play at the correct speed or is this something that I need to deal with in my code. If it is the latter does anyone have any advice?

EDIT

Another problem that I'm having is that the command movieClip.stop() doesn't work. Is there anything special that needs doing while exporting or the programming side?

EDIT

Here is how I'm loading in my swfs:

public var movieClip:MovieClip = new MovieClip();
private var myLoader:Loader;

public function MyMovieClip(location:String)
{
    myLoader = new Loader();
    var myRequest:URLRequest = new URLRequest(location);
    myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
    myLoader.load(myRequest);
}

private function onCompleteHandler(loadEvent:Event):void
{
    movieClip = loadEvent.currentTarget.content;
    FP.stage.addChild(movieClip);
}

The movie clip starts automatically and I try and stop the clip with:

movieClip.stop();

EDIT

I've decided to scrap movie clips and replace them with spritesheets as these will fit the role just as well and I know what I'm doing with them. Thanks for all the help though.

Was it helpful?

Solution

Check what framerate Flash is set to, and what framerate FlashDevelop is set to. The former can be found in the properties window when nothing is selected, and the latter is under Project>Properties. The framerate in Flash defaults to 12 while FlashDevelop defaults to 30, so if you don't manually set the framerates any animations will play much faster in FlashDevelop.

OTHER TIPS

I recoment to do nextFrame manually:

var timer:Timer = new Timer(500, 60); //calling onTick function every 0,5 sec for 1 minute
timer.addEventListener(TimerEvent.TIMER, onTick); 
...
public function onTick(e: Event) {
  movieClip.nextFrame();
}

look in livedocs for more details

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top