我正在開發一個Flash項目,其中所有代碼都位於外部Document.as文件中。as3:如何讓MovieClip停止
我該如何設置一個在其他動畫片段加載之前運行並完成的介紹MovieClip?現在發生的情況是剪輯與Document類(內容,UI等)中的所有其他內容一起加載。我想讓介紹片段運行,停止並繼續執行Document中的其餘代碼。
我試過在剪輯上使用stop
方法,但它似乎什麼都不做,只是把MovieClip放入回放循環。
謝謝。
我正在開發一個Flash項目,其中所有代碼都位於外部Document.as文件中。as3:如何讓MovieClip停止
我該如何設置一個在其他動畫片段加載之前運行並完成的介紹MovieClip?現在發生的情況是剪輯與Document類(內容,UI等)中的所有其他內容一起加載。我想讓介紹片段運行,停止並繼續執行Document中的其餘代碼。
我試過在剪輯上使用stop
方法,但它似乎什麼都不做,只是把MovieClip放入回放循環。
謝謝。
在您的文檔類中,您可以訪問任何可在時間軸的第一幀中找到的MovieClip。 例如以「myClip」,放置在第一幀的實例名稱的影片剪輯,您可以訪問它與下面的代碼:
package
{
import flash.events.Event;
import flash.display.MovieClip;
public class Document extends MovieClip
{
public var myClip:MovieClip;
public function Document()
{
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event) : void
{
myClip.stop();
}
}
}
在另一方面,你可以訪問您記錄從類範圍的時間表在閃光燈。呼喚你文檔「functionAtDocument」定義的公共函數看起來像這樣:
Document(this).functionAtDocument();
在你的文檔類代碼:
package
{
import flash.display.MovieClip;
public class Document extends MovieClip
{
// ... missing some code
public function tracer():void
{
trace ('call from flash timeline');
}
}
}
考慮到這一點我的東西,你可以去前進和後退,從時間線向班級發送值,並操縱任何生活在那裏的動畫片段。
您可以使用停止操作來定位前奏MovieClip。不過,我建議是這樣的:
class documentOfFLa extends Sprite {
public var introMC:MovieClip; // the introduction animation
public var restOfAnimation:MovieClip; // whatever is after the intro
function documentOfFLa() { // constructor
introMC.play();
restOfAnimation.stop();
}
public function continueParent():void { // call this at end of intro
restOfAnimation.play();
introMC.stop();
removeChild(introMC);
}
}
...在開場動畫調用像這樣在時間軸上的末尾:
this.parent["continueParent"]();
我知道這是黑客十歲上下,但它將會很快實施。後來你可以清理它...
你可以發佈一些你的代碼有關的movieClips?下面還有很好的建議... – 2010-01-19 15:45:18