我使用FlashPunk遊戲引擎和FlashDevelop SDK在ActionScript 3.0中創建了一個遊戲。 我創建了自己的MovieClip類,它帶有一個預加載的影片剪輯文件。ActionScript:將同一個swf文件的多個實例添加到舞臺上
public function MyMovieClip(file:MovieClip, posX:int, posY:int, frameRate:int)
{
movieClip = file;
movieClip.x = posX;
movieClip.y = posY;
movieClip.stop();
FP.stage.addChild(movieClip);
timer = new Timer((1/frameRate) * 1000);
timer.start();
timer.addEventListener(TimerEvent.TIMER, onTick);
}
爲我的影片剪輯的更新如下:
private function onTick(e:TimerEvent):void
{
if (isRepeating)
{
if (movieClip.currentFrame == movieClip.totalFrames)
{
movieClip.gotoAndStop(0);
}
}
movieClip.nextFrame();
}
說我有問題是,當我有使用相同的SWF文件,只有在MyMovieClip類的多個實例最後一個實例呈現並且針對我所擁有的每個實例進行更新(例如MyMovieClip的3個實例,最後一個實例以3倍的速度更新)。
如果需要更多信息,我會很高興提供它。
後的代碼你在哪裏調用實例化和調用MyMovieClip 。我有一種感覺,你每次調用函數都會覆蓋這些對象。 – 2011-06-06 16:35:39