經典 AS2 技巧:利用巢狀影片剪輯結構,內層做放大縮小補間動畫,外層用 tellTarget 控制播放頭跳轉,實現滑鼠移入放大、移出縮小的圖片互動效果。
stop();(分別對應:初始靜止、放大結束靜止、縮小結束靜止)。a。a(或其他)。on (rollOver) {
tellTarget("_parent.a") {
gotoAndPlay(2); // 播放放大動畫
}
}
on (rollOut) {
tellTarget("_parent.a") {
gotoAndPlay(32); // 播放縮小動畫
}
}
a (元件 2) → 內含 a (元件 1)。tellTarget("_parent.a"):從主場景實例指向其父時間軸(元件 2)中的實例 a(元件 1)。gotoAndPlay(2):從第 2 幀開始播放放大補間,至第 8 幀達最大,第 32 幀 stop() 停留放大狀態。gotoAndPlay(32):從第 32 幀播放縮小補間,至第 60 幀 stop() 回原狀。AS3 不再支援 tellTarget,改用顯示列表層級存取:
// 主場景實例命名为 container
container.addEventListener(MouseEvent.ROLL_OVER, onOver);
container.addEventListener(MouseEvent.ROLL_OUT, onOut);
function onOver(e:MouseEvent):void {
var inner:MovieClip = e.currentTarget.getChildByName("a") as MovieClip;
inner.gotoAndPlay(2);
}
function onOut(e:MouseEvent):void {
var inner:MovieClip = e.currentTarget.getChildByName("a") as MovieClip;
inner.gotoAndPlay(32);
}
此範例展示了 AS2 時代「時間軸動畫 + 路徑控制」的典型模式,理解其邏輯有助於遷移至 AS3 事件驅動架構。