影片片段 MovieClip
與 Sprite
MovieClip
物件具有時間軸 (一個以上的影格) ,主要可製作補間動畫;而 Sprite
物件不具時間軸,通常用來作為其它物件容器 (包含其它物件) 的基底類別 (base class) 。
Sprite
類別與物件 - flash.display
套件
建構 Sprite
物件
var con:Sprite=new Sprite();
Sprite
的屬性與方法
- Sprite 繼承 DisplayObjectContainer
- [屬性]
-
- buttonMode
-
- 指出定物件為按鈕模式。
- buttonMode:Boolean [讀寫] ,預設值為
false
。 con.buttonMode=true
//指定 con
物件具有按鈕模式。
dropTarget
-
- 取得本身被拖移到,或放到的其他物件。被放到的目標物件會參照到最內層實際接觸到的物件,所以也會參考實際發生事件對應的位置,例如滑鼠按下的點。
dropTarget:DisplayObject
[唯讀]dt=con.dropTarget
//將 con
物件被拖移放到的物件指定給 dt
物件。
hitArea
-
- 指出能夠觸發互動事件的區域,可稱為「感應區」或「作用區」。如果沒有指定,感應區預設就是本身區域。被指定為感應區的物件,必須指定
mouseEnabled=false
,停止本身原有的互動事件。 hitArea:Sprite
[讀寫]con.hitArea=sensor; sensor.mouseEnabled=false;
//指定 con
物件以 sensor
物件範圍作為感應區。
- [方法]
-
- startDrag()
-
- 提供使用者拖移物件,一次只能一件。
- public function startDrag(lockCenter:Boolean=false,bounds:Rectangle=null):void
con.startDrag()
// con 物件讓使用者拖移。
- stopDrag()
-
- 停止 startDrag() 拖移的物件。
- public function stopDrag():void
con.stopDrag()
//停止 con 物件被拖移。
MovieClip
類別與物件 - flash.display
套件
MovieClip 的屬性與方法
- MovieClip 繼承 Sprite
- [屬性]
-
- currentFrame
-
- 取得影片片段實體目前播放的影格編號。
- currentFrame:int [唯讀]
var fm:int=mc.currentFrame
// mc 物件目前影格號指定給 fm 物件。
- totalFrames
-
- 取得影片片段實體的影格總數。
- totalFrames:int [唯讀]
var fm:int=mc.totalFrames
// mc 物件的總影格數指定給 fm 物件。
- [方法]
-
- stop()
-
- 停止影片片段實體播放,並停留在目前影格。
- public function stop():void
mc.stop()
// mc 物件停止播放。
- play()
-
- 影片片段實體由目前影格開始播放。
- public function play():void
mc.play()
// mc 物件繼續播放。
- gotoAndStop()
-
- 影片片段實體跳至指定影格並停止播放,參數 frame 可為影格標籤字串,可加上參數 scence 指定場景名稱。
- public function gotoAndStop(frame:Object, scene:String = null):void
mc.gotoAndStop("end")
// mc 物件停止在標籤為 end 的影格。
- gotoAndPlay()
-
- 影片片段實體跳至指定影格繼續播放,參數 frame 可為影格標籤字串,可加上參數 scence 指定場景名稱。
- public function gotoAndPlay(frame:Object, scene:String = null):void
mc.gotoAndPlay("start")
// mc 物件跳至標籤為 start 的影格繼續播放。
- nextFrame()
-
- 影片片段實體移至下一影格並停止播放。
- public function nextFrame():void
mc.nextFrame()
// mc 物件移至下一影格。
- prevFrame()
-
- 影片片段實體移至上一影格並停止播放。
- public function prevFrame():void
mc.prevFrame()
// mc 物件移至上一影格。
由 MovieClip 元件 (元件庫內嵌資源) 建構 MovieClip 物件
- 製作新 MovieClip 元件,名稱為 SampleClip 。
- 在元件庫更改該元件屬性: [連結] 區,勾選 [匯出給 ActionScript 使用],預設同時會勾選 [匯出在第一個影格]。
- [基底類別] 輸入項, 會自動出現預設的 flash.display.MovieClip ; [類別] 輸入項可自行定義名稱 (假設是 SampleClip) 。如果不需要擴充類別,按確定就行了;會出現警告「類別路徑中找不到這個類別的定義,將在匯出時自動產生至 SWF 檔」,忽略就可以了,接著 flash 會自動產生 [基底類別] 的擴充空類別。 [類別] 輸入項也可以指定自行擴充的類別名稱,但是元件庫內不允許不同元件指定相同類別名稱,也就是說類別名稱在元件庫內都是唯一的。
- 在第一個影格加入 ActionScript
-
var mcA:SampleClip=new SampleClip();
//產生 SampleClip 的 instanceaddChild(mcA);
//將 instance 加入指定的 DisplayObjectContainer
-
舞台上就會出現 SampleClip 的 instance ,而且預設位置會是註冊點對齊父容器物件 (DisplayObjectContainer) 的 (0,0) 。
移動補間
對正在進行移動補間動畫的 MovieClip 物件,動態變更下列任一屬性, Flash Player 會強制停止該補間動畫的播放磁頭,但不會停止該 MovieClip 物件的子 MovieClip 物件:
alpha, height, width, x, y, scaleX, scaleY, rotation, blendMode, filters, opaqueBackground, scale9Grid, scrollRect, transform, visible