語文遊戲專案涉及到的幾個需求的解決方法
阿新 • • 發佈:2019-01-06
一、設定影片剪輯所在的層數。
1、初始化時就設定
①將影片剪輯設定為頂層
var index:int=影片剪輯屬性名.parent. numChildren-1//---獲取最高層數
影片剪輯屬性名.parent. setChildIndex(影片剪輯屬性名,index)
②將影片剪輯設定為底層
var index:int=0
影片剪輯屬性名.parent. setChildIndex(影片剪輯屬性名,index)
2、觸發點選事件時設定
①將影片剪輯設定為頂層
function down(e:MouseEvent){ e.target.parent.setChildIndex(e.target,e.target.parent.numChildren-1);//當點選此影片剪輯時,改影片剪輯將被置為頂層} ②將影片剪輯設定為底層<pre name="code" class="plain">選項的影片剪輯屬性名.addEventListener(MouseEvent.MOUSE_DOWN, down);//為影片剪輯設定監聽事件
function down(e:MouseEvent)
{
e.target.parent.setChildIndex(e.target, 0);//當點選此影片剪輯時,改影片剪輯將被置為底層
}
但是有時候會發現一輪遊戲結束之後,在點選重新開始之後會發現層數變了,原本設定為第5層正好滿足,現在發生了變化。這種情況最好將其設定為相對於頂層的層數。
function down(e:MouseEvent) { e.target.parent.setChildIndex(e.target,e.target.parent.numChildren-35);//這裡的35是多次試驗後的結果 }
二、控制影片剪輯播放的相關函式
影片剪輯名稱.play();//播放影片剪輯
影片剪輯名稱.stop();//停止影片剪輯
影片剪輯名稱.gotoAndPlay(N);//從第N幀開始播放影片剪輯
影片剪輯名稱.gotoAndStop(N)//播放影片剪輯並停在N幀
在影片剪輯最後一幀的動作中寫入程式碼:stop();也可實現動畫只播放一次。寫入程式碼的幀要先設定為關鍵幀。
三、答錯題目時選項消失,在螢幕中間播放“哭泣”的影片剪輯
選項的影片剪輯屬性名.addEventListener(MouseEvent.MOUSE_DOWN, down);//為影片剪輯設定監聽事件 function timeDelay() { Select0._visible = true;//Select0和Select1是兩個選項的影片剪輯 Select1._visible = true; cry._visible = false; //"哭泣"的影片剪輯 Select0.gotoAndPlay(1); Select1.gotoAndPlay(1); clearInterval(cryStop); } function crying() { Select0._visible = false; Select1._visible = false; cry._visible = true; cry.play(); } function shibai() { //Select0.stop(); //Select1.stop(); Select0.stop(); Select1.stop(); //延遲1.5s呼叫函式timeDelay。1.5s後"哭泣"影片剪輯設定為不可見,"選項設定為可見。清除定時器。 setTimeout(timeDelay,1500); //設定定時器 cryStop = setInterval(crying,1); }