ActionScript 3.0 語法結構的基本寫法與 2.0 不太一樣
首先 ActionScript 3.0 必須先將程式片段寫在「函式 function」之內
然後再用「偵聽 addEventListener」的方式讓場景上的物件去執行「函式 function」
function QQQ(EE:MouseEvent) {
程式~程式~程式~程式~;
程式~程式~程式~程式~;
程式~程式~程式~程式~;
}
場景上的物件.addEventListener(MouseEvent.CLICK,QQQ);
以上範例就是先將程式寫在 QQQ 的「函式 function」之內
然後再用場景上的物件去「偵聽」 QQQ 函式
ActionScript 3.0 除了「偵聽」還有一個「移除偵聽 removeEventListener」的方法
「移除偵聽 removeEventListener」顧名思義就是場景上的物件正在執行的「函式 function」移除
場景上的物件就不會再執行「函式 function」內的程式了
----------------------------------------------------------------------------------
MENU_mc.addEventListener(MouseEvent.ROLL_OVER,MENU_MOVE);
MENU_mc.addEventListener(MouseEvent.ROLL_OUT,MENU_MOVE);
var MENU_SPEED:uint=35;
function MENU_MOVE(EE:MouseEvent) {
if (EE.type=="rollOver") {
MENU_mc.addEventListener(Event.ENTER_FRAME,MENU_OUT);
MENU_mc.removeEventListener(Event.ENTER_FRAME,MENU_BACK);
}
if (EE.type=="rollOut") {
MENU_mc.addEventListener(Event.ENTER_FRAME,MENU_BACK);
MENU_mc.removeEventListener(Event.ENTER_FRAME,MENU_OUT);
}
}
function MENU_OUT(EE:Event) {
if (MENU_mc.x<=10) {
MENU_mc.x=10;
} else {
MENU_mc.x-=MENU_SPEED;
}
}
function MENU_BACK(EE:Event) {
if (MENU_mc.x>=670) {
MENU_mc.x=670;
} else {
MENU_mc.x+=MENU_SPEED;
}
}
範例解說:
這個範例場景上的物件名稱為「MENU_mc」
第1、2行:讓 MENU_mc 去偵聽 「MENU_MOVE 函式」,分別設定 ROLL_OVER 和 ROLL_OUT 兩個滑鼠事件
第7~9行:當滑鼠事件是 ROLL_OVER 時,就會再偵聽「MENU_OUT 函式」,並移除偵聽「MENU_BACK 函式」
第11~13行:當滑鼠事件是 ROLL_OUT 時,就會再偵聽「MENU_BACK 函式」,並移除偵聽「MENU_OUT 函式」
第17~23行:「MENU_OUT 函式」內的程式的功能就是讓 MENU_mc 物件的 x 座標滑出來到場景中間
第25~31行:「MENU_BACK 函式」內的程式的功能就是讓 MENU_mc 物件的 x 座標滑出去到場景外面
留言列表