萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 軟體知識 >  >> 影像處理 >> Flash 教學

Flash 常用 ActionScript 控制語句速查手冊

ActionScript 控制語句是賦予 Flash 互動邏輯的核心。本文匯總最常用的 AS2/AS3 通用指令,按功能分類,附帶參數說明與實戰代碼片段,適合作為開發時的桌面速查卡。

1. 導航控制

指令參數說明例子
gotoAndPlay場景, 幀號/標籤跳轉並播放gotoAndPlay("intro", 10); gotoAndPlay(5);
gotoAndStop場景, 幀號/標籤跳轉並停止gotoAndStop("gameOver");
nextFrame—下一幀並播放nextFrame();
prevFrame—上一幀並停止prevFrame();
play—從當前幀播放play();
stop—停止播放stop();
nextScene—下一場景首幀停止nextScene();
prevScene—上一場景首幀停止prevScene();

2. 條件與循環

指令語法例子
ifif (條件) { } else { }if (score>100) { trace("Win"); } else { trace("Continue"); }
whilewhile (條件) { }while (i<10) { i++; }
forfor (初始; 條件; 迭代) { }for (var i=0; i<5; i++) { trace(i); }
for..infor (var k in obj) { }遍歷對象屬性/陣列索引
break跳出最近循環for (...) { if (found) break; }
continue跳過本次循環for (...) { if (skip) continue; }

3. 滑鼠/鍵盤事件 (AS2 風格按鈕腳本)

事件觸發時機例子
press滑鼠按下on(press) { trace("down"); }
release滑鼠釋放 (點擊完成)on(release) { getURL("https://site.com"); }
releaseOutside按下後移出區域才釋放on(releaseOutside) { cancelDrag(); }
rollOver滑鼠進入區域on(rollOver) { this._alpha=50; }
rollOut滑鼠離開區域on(rollOut) { this._alpha=100; }
dragOver拖拽進入區域on(dragOver) { highlight(); }
dragOut拖拽離開區域on(dragOut) { unhighlight(); }
keyPress "<鍵>"特定鍵按下on(keyPress "<Left>") { moveLeft(); }

常用鍵碼:<Left> <Right> <Up> <Down> <Space> <Enter> <Escape> "a"-"z" "0"-"9"

4. 載入與通信

指令參數例子
loadVariablesURL, 目標, 方法loadVariables("data.txt", _root, "GET");
loadMovieURL, 目標(MC/層級)loadMovie("mod.swf", container); loadMovie("mod.swf", 1);
unloadMovie目標unloadMovie(container); unloadMovie(1);
loadMovieNumURL, 層級loadMovieNum("a.swf", 2);
getURLURL, 窗口, 方法getURL("page.html", "_blank", "POST");
fscommand命令, 參數fscommand("fullscreen", "true"); fscommand("quit");

5. 對象屬性控制 (AS2 Set Property 對應 AS3 直接屬性)

屬性AS2 Set PropertyAS3 直接屬性說明
X 座標setProperty(mc, "x", 100)mc.x = 100水平位置
Y 座標setProperty(mc, "y", 100)mc.y = 100垂直位置
X 縮放setProperty(mc, "xscale", 150)mc.scaleX = 1.5水平縮放 %
Y 縮放setProperty(mc, "yscale", 150)mc.scaleY = 1.5垂直縮放 %
透明度setProperty(mc, "alpha", 50)mc.alpha = 0.50-100 / 0-1
可見性setProperty(mc, "visible", 0)mc.visible = false布爾值
旋轉setProperty(mc, "rotation", 45)mc.rotation = 45度數
名稱setProperty(mc, "name", "new")mc.name = "new"實例名
高品質setProperty(mc, "highquality", 1)mc.quality = "high"渲染質量

6. 變量操作

// AS2
setVariable("score", 100);
var score = getVariable("score");

// AS3
var score:int = 100;
// 或動態
this["score"] = 100;

7. 元件複製與移除

指令AS2AS3
複製duplicateMovieClip("mc", "mc2", depth)var mc2:MovieClip = new SourceClass(); addChild(mc2);
移除removeMovieClip("mc2")removeChild(mc2); mc2 = null;

AS3 推薦使用類實例化替代 duplicateMovieClip,更符合 OOP。

8. 拖拽控制

指令參數例子
startDrag目標, 鎖定中心, 邊界矩形startDrag(mc, true, {x:0,y:0,w:550,h:400});
stopDrag—stopDrag();

9. 調試與註釋

指令用法例子
trace輸出到輸出面板trace("x=" + x); trace(obj);
註釋// 單行 / /* 多行 */// 計算分數 /* 多行說明 */

10. 條件幀載入檢測

ifFrameLoaded(10) { // 第10幀載入完成
    gotoAndPlay(10);
}
// 或 AS3
loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);

11. 函數調用

// AS2
call("functionName");
// AS3
functionName();

使用建議

  • 新項目全面使用 AS3:強類型、事件模型、顯示列表、效能優越
  • 維護舊項目時參考 AS2 欄,但內部邏輯建議逐步遷移
  • 將此表導出為 PDF,印刷 A5 雙面,貼在工位旁
  • 高頻指令:gotoAndStop, stop, play, on(release), loadMovie, getURL, trace, startDrag/stopDrag, if/else, for

內化這 50+ 指令,Flash 互動邏輯實現將如行雲流水。

copyright © 萬盛學電腦網 all rights reserved