MovieClip實例我從庫中影片剪輯「achtergrond」,我把在舞臺上有這樣的功能的正確方法:AS3找不到gotoAndStop在AS3
function set_game()
{
oefNr = 4;
var bg:achtergrond = new achtergrond();
bg.x = 0;
bg.y = 0;
bg.name = "bg";
bg.gotoAndStop ("uit");
addChild (bg);
set_next();
}
的影片剪輯包含2幀「aan」和「uit」,它從幀「uit」開始。 而且在我的遊戲我想框設置爲「AAN」,而播放聲音時,就像這樣:
function playSnd():void
{
getChildByName("bg").gotoAndStop("aan");
snd = new Sound(new URLRequest("phonetic_" + curArr[curSnd] + ".mp3"));
cnl = snd.play();
cnl.addEventListener (Event.SOUND_COMPLETE, completeSnd);
}
但對我的生活,我不能找到正確的方式來做到這一點。 Flash繼續關於displayObjects和其他事情,我不知道爲什麼我無法解決我的動畫片段。其實,我有一個線索,但沒有比這更多。我不太瞭解Flash的這部分。
更簡單的方法[如果資產不是動態創建的]就是引用帶括號的項目,例如this [「bg」]。stop()或者如果你想要提示MovieClip(this [「bg」])。通常寫得更快,但只有在您沒有動態創建資產時纔有效。但是,如果你這樣做了,你可能會把它們存儲在一個類變量中,而不需要通過另一個動畫片段找到它 –
@DanielMesSer如你所見,資源是在函數set_game()中動態創建的。這一點你的評論我不明白:你可能有他們存儲在一個類變量無論如何,不需要通過另一個動畫片段找到它。你能解釋一下嗎? – silvith
在評論中編寫描述性內容有點困難,但我會嘗試。我的意思是,既然你動態地創建它們,你通常會在某種類中做它,然後你可以選擇將它們存儲在成員變量或數組或表格中或類似的東西中。比如在一個類裏面:'var myBubbles:Array = [new Bubble(),new Bubble(),new Bubble()]'。然後做一些像myBubbleEmitter.addChild(myBubbles [0])這樣的東西。'myOtherBubbleEmitter.addChild(myBubbles [1]);'因此,你真的不關心動態創建的東西的名稱,因爲你以另一種方式訪問它們。說得通? –