適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
flash.display 

Sprite  - AS3

套件flash.display
類別public class Sprite
繼承Sprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
子類別 DownloadProgressBar, FlexSprite, FLVPlayback, FLVPlaybackCaptioning, FTETextField, HTMLLoader, LayoutTargetSprite, MediaPlayerSprite, MovieClip, Preloader, ProLoader, SparkDownloadProgressBar, SplashScreen, TLFTextField, UIComponent

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

Sprite 類別是基本的顯示清單建構區塊:可以顯示圖像,也可以包含子系的顯示清單節點。

Sprite 物件與影片片段相似,但卻沒有時間軸。 針對不需要時間軸的物件而言,Sprite 是一個適當的基底類別。 例如,Sprite 可提供使用者介面 (UI) 組件一個邏輯基底類別,而此組件通常不會用到時間軸。

Sprite 類別是 ActionScript 3.0 所提供的新類別。 它可替代 MovieClip 類別並提供相同功能,同時保留此類別在舊版 ActionScript 中的所有功能以提供舊版相容性。

檢視範例

更多範例



公用屬性
 屬性定義自
 InheritedaccessibilityImplementation : AccessibilityImplementation
對此 InteractiveObject 實體目前的輔助功能實作 (AccessibilityImplementation)。
InteractiveObject
 InheritedaccessibilityProperties : AccessibilityProperties
此顯示物件的目前輔助功能選項。
DisplayObject
 Inheritedalpha : Number
指出所指定物件的 Alpha 透明度值。
DisplayObject
 InheritedblendMode : String
來自 BlendMode 類別的值,會指定要使用何種混合模式。
DisplayObject
 InheritedblendShader : Shader
[唯寫] 設定用來混合前景和背景的著色器。
DisplayObject
  buttonMode : Boolean
可指定此 sprite 的按鈕模式。
Sprite
 InheritedcacheAsBitmap : Boolean
如果設定為 true,Flash 執行階段會快取顯示物件的內部點陣圖表示法。
DisplayObject
 Inherited    cacheAsBitmapMatrix : Matrix
如果為非 null,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。
DisplayObject
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
 InheritedcontextMenu : NativeMenu
指定與此物件有關聯的快顯選單。
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
會指定物件是否會收到 doubleClick 事件。
InteractiveObject
  dropTarget : DisplayObject
[唯讀] 指定要將 sprite 拖曳至或丟棄至哪個顯示物件上。
Sprite
 Inheritedfilters : Array
索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。
DisplayObject
 InheritedfocusRect : Object
會指定這個物件是否會顯示焦點矩形。
InteractiveObject
  graphics : Graphics
[唯讀] 指定屬於此 sprite 物件的 Graphics 物件,其中可能會產生向量繪圖命令。
Sprite
 Inheritedheight : Number
會指出顯示物件的高度,以像素為單位。
DisplayObject
  hitArea : Sprite
指定用來當作 sprite 作用區域的另一個 sprite。
Sprite
 InheritedloaderInfo : LoaderInfo
[唯讀] 會傳回 LoaderInfo 物件,其中包含關於載入此顯示物件所屬之檔案的資訊。
DisplayObject
 Inheritedmask : DisplayObject
呼叫之顯示物件會以指定的 mask 物件遮蓋。
DisplayObject
 InheritedmetaData : Object
如果中繼資料是透過 PlaceObject4 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 DisplayObject 實體的中繼資料物件。
DisplayObject
 InheritedmouseChildren : Boolean
判斷物件的子系是否支援啟用滑鼠或使用者輸入裝置。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
指定此物件是否接收滑鼠或其他使用者輸入及訊息。
InteractiveObject
 InheritedmouseX : Number
[唯讀] 指出滑鼠或使用者輸入裝置位置的 x 座標,以像素為單位。
DisplayObject
 InheritedmouseY : Number
[唯讀] 指出滑鼠或使用者輸入裝置位置的 y 座標,以像素為單位。
DisplayObject
 Inheritedname : String
指出 DisplayObject 的實體名稱。
DisplayObject
 InheritedneedsSoftKeyboard : Boolean
指定虛擬鍵盤 (螢幕上的軟體鍵盤) 是否應在此 InteractiveObject 實體接收到焦點時顯示。
InteractiveObject
 InheritednumChildren : int
[唯讀] 傳回此物件的子系數量。
DisplayObjectContainer
 InheritedopaqueBackground : Object
會指定顯示物件是否不透明,並具有特定背景顏色。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[唯讀] 指出包含此顯示物件的 DisplayObjectContainer 物件。
DisplayObject
 Inheritedroot : DisplayObject
[唯讀] 對載入之 SWF 檔案的顯示物件而言,root 屬性就是該 SWF 檔案所呈現之顯示清單樹狀結構部分的最上層顯示物件。
DisplayObject
 Inheritedrotation : Number
指出 DisplayObject 實體的旋轉度數 (從該物件原本方向算起)。
DisplayObject
 InheritedrotationX : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 x 軸旋轉 (以度數為單位)。
DisplayObject
 InheritedrotationY : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 y 軸旋轉 (以度數為單位)。
DisplayObject
 InheritedrotationZ : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 z 軸旋轉 (以度數為單位)。
DisplayObject
 Inheritedscale9Grid : Rectangle
目前產生效用的縮放格線。
DisplayObject
 InheritedscaleX : Number
指出從註冊點套用的物件水平縮放 (百分比)。
DisplayObject
 InheritedscaleY : Number
指出從物件註冊點套用的物件垂直縮放 (百分比)。
DisplayObject
 InheritedscaleZ : Number
指出從物件註冊點套用的物件深度縮放 (百分比)。
DisplayObject
 InheritedscrollRect : Rectangle
顯示物件的捲動矩形範圍。
DisplayObject
 Inherited    softKeyboard : String
控制軟體鍵盤的外觀。
InteractiveObject
 InheritedsoftKeyboardInputAreaOfInterest : Rectangle
定義顯示軟體鍵盤時,應保留於螢幕上的區域 (iOS 未提供)。
InteractiveObject
  soundTransform : flash.media:SoundTransform
控制此 Sprite 的聲音。
Sprite
 Inheritedstage : Stage
[唯讀] 顯示物件的「舞台」。
DisplayObject
 InheritedtabChildren : Boolean
判斷物件的子系是否支援啟用定位鍵。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
會指定這個物件是否在停駐點順序中。
InteractiveObject
 InheritedtabIndex : int
會指定 SWF 檔中的物件停駐點順序。
InteractiveObject
 InheritedtextSnapshot : flash.text:TextSnapshot
[唯讀] 傳回此 DisplayObjectContainer 實體的 TextSnapshot 物件。
DisplayObjectContainer
 Inheritedtransform : flash.geom:Transform
這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。
DisplayObject
  useHandCursor : Boolean
指示當指標滑入 Sprite,且其 buttonMode 屬性設為 true 時,是否要出現指示手掌 (手掌游標) 的 Boolean 值。
Sprite
 Inheritedvisible : Boolean
不管是否看得見顯示物件。
DisplayObject
 Inheritedwidth : Number
會指出顯示物件的寬度,以像素為單位。
DisplayObject
 Inheritedx : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 x 座標。
DisplayObject
 Inheritedy : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 y 座標。
DisplayObject
 Inheritedz : Number
表示 DisplayObject 實體相對於 3D 父輩容器的 z 座標位置 (沿著 z 軸)。
DisplayObject
公用方法
 方法定義自
  
建立新的 Sprite 實體。
Sprite
 Inherited
將 DisplayObject 子實體加入至此 DisplayObjectContainer 實體。
DisplayObjectContainer
 Inherited
將 DisplayObject 子實體加入至此 DisplayObjectContainer 實體。
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。
EventDispatcher
 Inherited
指出安全性限制是否會造成傳回的清單 (可用指定的 point 點呼叫 DisplayObjectContainer.getObjectsUnderPoint() 方法來取得) 省略任何顯示物件。
DisplayObjectContainer
 Inherited
判斷指定的顯示物件是否為 DisplayObjectContainer 實體的子系,或為實體本身。
DisplayObjectContainer
 Inherited
會將事件傳送到事件流程。
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
傳回可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。
DisplayObject
 Inherited
傳回存在於指定索引位置的子顯示物件實體。
DisplayObjectContainer
 Inherited
傳回具有指定名稱的子顯示物件。
DisplayObjectContainer
 Inherited
傳回 child DisplayObject 實體的索引位置。
DisplayObjectContainer
 Inherited
傳回位於指定點底下,且屬於此 DisplayObjectContainer 實體之子系 (或孫系,以下類推) 的物件陣列。
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
根據 targetCoordinateSpace 參數所定義的座標系統,並排除形狀上的任何筆畫,傳回可定義顯示物件邊界的矩形。
DisplayObject
 Inherited
將 point 物件從「舞台」(全域) 座標轉換成顯示物件的 (區域) 座標。
DisplayObject
 Inherited
將二維點從「舞台」(全域) 座標轉換為三維顯示物件的 (區域) 座標。
DisplayObject
 Inherited
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。
EventDispatcher
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
評估顯示物件的範圍框,看它是否與 obj 顯示物件的範圍框重疊或相交。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
評估顯示物件,看它是否與 x 和 y 參數所指定的點重疊或相交。
DisplayObject
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
將三維顯示物件的 (區域) 座標的三維點轉換為「舞台」(全域) 座標中的二維點。
DisplayObject
 Inherited
將 point 物件從顯示物件的 (區域) 座標轉換成「舞台」(全域) 座標。
DisplayObject
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
將指定的 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。
DisplayObjectContainer
 Inherited
從 DisplayObjectContainer 子清單中的指定索引位置移除子 DisplayObject。
DisplayObjectContainer
 Inherited
removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
將所有 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
會從 EventDispatcher 物件移除偵聽程式。
EventDispatcher
 Inherited
升起顯示虛擬鍵盤。
InteractiveObject
 Inherited
變更顯示物件容器中現有子系的位置。
DisplayObjectContainer
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
  
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
讓使用者拖曳指定的 sprite。
Sprite
  
startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void
讓使用者將指定的 Sprite 拖曳至觸控裝置上。
Sprite
 Inherited
遞迴停止執行所有 MovieClips 的時間軸根源於此物件。
DisplayObjectContainer
  
結束 startDrag() 方法。
Sprite
  
stopTouchDrag(touchPointID:int):void
結束觸控裝置使用的 startTouchDrag() 方法。
Sprite
 Inherited
替換兩個指定子物件的 z 順序 (深度階層,由前至後順序)。
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
在子清單的兩個指定索引位置,替換子物件的 z 順序 (深度階層,由前至後順序)。
DisplayObjectContainer
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
會傳回指定之物件的字串形式。
Object
 Inherited
會傳回指定之物件的基本值。
Object
 Inherited
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。
EventDispatcher
事件
 事件 摘要 定義自
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。EventDispatcher
 Inherited當顯示物件加入顯示清單中時傳送。DisplayObject
 Inherited會在顯示物件加入舞台上的顯示清單時,以直接或是透過加入包含該顯示物件之子樹狀結構的方式傳送。DisplayObject
 Inherited當使用者從文字快顯選單中選取「清除」(或「刪除」) 時傳送。InteractiveObject
 Inherited會當使用者在相同的 InteractiveObject 上方按下並放開使用者的指向裝置主按鈕時傳送。InteractiveObject
 Inherited
    contextMenu
當使用者手勢在 AIR 應用程式中觸發與此互動式物件相關聯的快顯選單時傳送。InteractiveObject
 Inherited當使用者針對複製作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「複製」時傳送。InteractiveObject
 Inherited當使用者針對剪下作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「剪下」時傳送。InteractiveObject
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。EventDispatcher
 Inherited在 InteractiveObject 物件的 doubleClickEnabled 旗標設為 true 的情況下,當使用者在相同的物件上方連續兩次快速按下並放開指標裝置主要按鈕時傳送。InteractiveObject
 Inherited[廣播事件] 當播放磁頭進入新影格時傳送。DisplayObject
 Inherited[廣播事件] 當播放磁頭結束目前影格時傳送。DisplayObject
 Inherited當顯示物件取得焦點之後傳送。InteractiveObject
 Inherited當顯示物件失去焦點時傳送。InteractiveObject
 Inherited[廣播事件] 在影格顯示物件的建構函式執行之後,且影格指令碼執行之前傳送。DisplayObject
 Inherited當使用者沿著觸控面與 InteractiveObject 實體建立接觸點 (例如沿著 Apple TV 的 Siri Remote 觸控面點選),某些裝置可能也會將此接觸解譯為數個觸控事件的組合。InteractiveObject
 Inherited當使用在觸控裝置上的同一個 InteractiveObject 實體上按下兩個接觸點後送出 (例如在行動電話或平板電腦觸控螢幕的顯示物件上方,以兩支手指按下後鬆開)。InteractiveObject
 Inherited當使用者在觸控裝置上,將接觸點移動到 InteractiveObject 實體上方後傳送 (例如,在行動電話或平板電腦觸控螢幕的顯示物件上,由左向右移動手指)。InteractiveObject
 Inherited當使用者在 InteractiveObject 實體的接觸點上做出旋轉手勢後傳送 (例如兩指觸摸行動電話或平板電腦的觸控螢幕,然後手指在顯示物件上旋轉)。InteractiveObject
 Inherited當使用者在與 InteractiveObject 實體的某個接觸點上做出揮動手勢後傳送 (例如,三指併在一起觸碰行動電話或平板電腦的觸控螢幕,然後在顯示物件上快速平行移動手指)。InteractiveObject
 Inherited當使用者與 InteractiveObject 實體建立接觸點,然後在觸控裝置上點一下後送出 (例如,將多根手指放到行動電話或平板電腦觸控螢幕的顯示物件上以開啟選單,然後其中一根手點一下,選取選單項目)。InteractiveObject
 Inherited當使用者在 InteractiveObject 實體的某個接觸點上做出放大縮小手勢後傳送 (例如兩指併在一起觸摸行動電話或平板電腦的觸控螢幕,然後手指在顯示物件上快速張開)。InteractiveObject
 Inherited這個事件會送出至任何支援 IME 內嵌輸入的用戶端應用程式。InteractiveObject
 Inherited會當使用者按下按鍵時傳送。InteractiveObject
 Inherited當使用者嘗試使用鍵盤瀏覽變更焦點時傳送。InteractiveObject
 Inherited會當使用者放開按鍵時傳送。InteractiveObject
 Inherited當使用者在相同的 InteractiveObject 上方按下並放開使用者的指向裝置中間按鈕時傳送。InteractiveObject
 Inherited當使用者將指向裝置的中間按鈕移至 InteractiveObject 實體上方按下時傳送。InteractiveObject
 Inherited當使用者將指向裝置按鈕移至 InteractiveObject 實體上方放開時傳送。InteractiveObject
 Inherited當使用者將指向裝置按鈕移至 InteractiveObject 實體上方按下時傳送。InteractiveObject
 Inherited會當使用者嘗試使用指向裝置變更焦點時傳送。InteractiveObject
 Inherited會當指向裝置停在 InteractiveObject 上方的情況下使用者將其移動時傳送。InteractiveObject
 Inherited會當使用者將指向裝置移開 InteractiveObject 實體時傳送。InteractiveObject
 Inherited會當使用者將指向裝置移至 InteractiveObject 實體上方時傳送。InteractiveObject
 Inherited當使用者將指向裝置按鈕移至 InteractiveObject 實體上方放開時傳送。InteractiveObject
 Inherited當滑鼠滾輪在 InteractiveObject 實體上方轉動時傳送。InteractiveObject
 Inherited當使用者釋放手勢時,由拖曳初始程式 InteractiveObject 傳送。InteractiveObject
 Inherited已在目標 InteractiveObject 上放下拖曳的物件,而且已呼叫 DragManager.acceptDragDrop() 接受該放開的資料時,由此目標 InteractiveObject 傳送。InteractiveObject
 Inherited當手勢進入 InteractiveObject 的邊界時,由此 InteractiveObject 傳送。InteractiveObject
 Inherited當手勢離開 InteractiveObject 的邊界時,由此 InteractiveObject 傳送。InteractiveObject
 Inherited當拖曳手勢還留在 InteractiveObject 的邊界內,由此 InteractiveObject 持續傳送。InteractiveObject
 Inherited在呼叫 DragManager.doDrag() 進行拖曳作業初期,由指定做為拖曳初始程式的 InteractiveObject 傳送。InteractiveObject
 Inherited在呼叫 DragManager.doDrag() 進行拖曳作業期間,由指定做為拖曳初始程式的 InteractiveObject 傳送。InteractiveObject
 Inherited當使用者針對貼上作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「貼上」時傳送。InteractiveObject
 Inherited在使用者將作用中觸控筆往下移至超過螢幕鄰近偵測邊框時傳送。InteractiveObject
 Inherited
    proximityEnd
在使用者將作用中觸控筆提到螢幕鄰近偵測邊框時傳送。InteractiveObject
 Inherited在使用者將作用中觸控筆移到螢幕上方,而其餘仍在鄰近偵測邊框內時傳送。InteractiveObject
 Inherited
    proximityOut
在使用者將作用中觸控筆移出這個 InteractiveObject 之外,而其餘仍在螢幕的鄰近偵測邊框內時傳送。InteractiveObject
 Inherited在使用者直接將作用中觸控筆移到這個 InteractiveObject 上方,而其餘仍在螢幕的鄰近偵測邊框內時傳送。InteractiveObject
 Inherited在使用者將作用中觸控筆移出這個 InteractiveObject 及其任一子系之外,而其餘仍在螢幕的鄰近偵測邊框內時傳送。InteractiveObject
 Inherited在使用者透過這個 InteractiveObject,從顯示清單中後代的物件樹狀結構之外移動作用中觸控筆時傳送 (而其餘仍在螢幕的鄰近偵測邊框內)。InteractiveObject
 Inherited當使用者第一次按下 InteractiveObject 實體上方的按鈕,然後將指向裝置滑出 InteractiveObject 實體之後即放開指向裝置上的按鈕時傳送。InteractiveObject
 Inherited會當顯示物件將要從顯示清單移除時傳送。DisplayObject
 Inherited會在顯示物件即將從顯示清單移除時,以直接或是透過移除包含該顯示物件之子樹狀結構的方式傳送。DisplayObject
 Inherited[廣播事件] 當顯示清單將要更新和顯示時傳送。DisplayObject
 Inherited當使用者在相同的 InteractiveObject 上方按下並放開使用者的指向裝置右邊按鈕時傳送。InteractiveObject
 Inherited當使用者將指向裝置按鈕移至 InteractiveObject 實體上方按下時傳送。InteractiveObject
 Inherited當使用者將指向裝置按鈕移至 InteractiveObject 實體上方放開時傳送。InteractiveObject
 Inherited會當使用者將指向裝置移開 InteractiveObject 實體時傳送。InteractiveObject
 Inherited會當使用者將指向裝置移至 InteractiveObject 實體上方時傳送。InteractiveObject
 Inherited當使用者針對全選作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「全選」時傳送。InteractiveObject
 Inherited升起顯示軟體鍵盤之後立即傳送。InteractiveObject
 Inherited升起顯示軟體鍵盤前立即傳送。InteractiveObject
 Inherited降下隱藏軟體鍵盤之後立即傳送。InteractiveObject
 Inherited在物件的 tabChildren 旗標值變更時傳送。InteractiveObject
 Inherited在物件的 tabEnabled 旗標變更時傳送。InteractiveObject
 Inherited在物件的 tabIndex 屬性值變更時傳送。InteractiveObject
 Inherited當使用者輸入一或多文字的字元時送出。InteractiveObject
 Inherited當使用者在第一次接觸觸控裝置後傳送 (例如手指觸摸行動電話或平板電腦的觸控螢幕)。InteractiveObject
 Inherited當使用者在觸控裝置上移除接觸點後傳送 (例如在行動電話或平板電腦觸控螢幕上移開手指)。InteractiveObject
 Inherited當使用者觸控裝置時傳送,並且連續不斷地傳送,直到接觸點移除為止。InteractiveObject
 Inherited當使用者在觸控裝置中,將接觸點移出 InteractiveObject 實體後送出 (例如在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件移至另一個顯示物件)。InteractiveObject
 Inherited當使用者在觸控裝置中將接觸點移至 InteractiveObject 實體上方後送出 (例如在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件外面的某一點,往顯示物件上方拖曳)。InteractiveObject
 Inherited當使用者在觸控裝置上,將接觸點從 InteractiveObject 實體移出後送出 (例如,在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件上方拖曳到顯示物件以外)。InteractiveObject
 Inherited當使用者在觸控裝置中將接觸點移至 InteractiveObject 實體上方後送出 (例如在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件外面的某一點,往顯示物件上方拖曳)。InteractiveObject
 Inherited當使用者在觸控裝置的同一個 InteractiveObject 實體上,在原先開始接觸點放開後送出 (例如在行動電話或平板電腦觸控螢幕上的顯示物件上方,以手指按下某個點後又鬆開)。InteractiveObject
屬性詳細資訊

buttonMode

屬性
buttonMode:Boolean

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

可指定此 sprite 的按鈕模式。 若為 true,則此 Sprite 將執行按鈕般的行為,也就是說,它會在指標通過 Sprite 上方時觸發顯示手掌游標,而且如果 Enter 或空格鍵在 Sprite 成為焦點時按下,還可以接收 click 事件。您可以先將 useHandCursor 屬性設為 false,這樣一來,指標就會顯示出來,同時抑制手掌游標不讓它顯示出來。

雖然使用 SimpleButton 類別來建立按鈕是比較好的作法,您還是可以使用 buttonMode 屬性,賦予 Sprite 一些按鈕般的功能。 若要將 Sprite 包含在定位停駐點順序中,請將 tabEnabled 屬性 (從 InteractiveObject 類別繼承而來,而且預設為 false) 設為 true。 此外,是否讓您的 Sprite 子系支援啟用使用者輸入動作,也需要納入考量。大部分按鈕都無法針對其子物件支援啟用使用者輸入互動,因為這樣會讓事件流程混淆。若要針對所有子物件停用使用者輸入互動,您必須將 mouseChildren 屬性 (繼承自 DisplayObjectContainer 類別) 設為 false

如果您使用 MovieClip 類別 (Sprite 類別的子類別) 的 buttonMode 屬性,您的按鈕可能會帶有其它附加的功能。 如果您納入 labeled _up、labeled_over,以及 labeled_down 的影格,則 Flash Player 會提供自動狀態變更 (與舊版 ActionScript 中提供給影片片段做為按鈕使用的功能相似)。 這些自動狀態變更無法提供 sprite 使用,因為它們沒有時間軸,因此也沒有可以加上標籤的影格。



實作
    public function get buttonMode():Boolean
    public function set buttonMode(value:Boolean):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例會建立兩個 Sprite,並將 buttonMode 屬性設為 true 供其中一個 Sprite 使用,以及設為 false 供另一個 Sprite 使用。 當您編譯與執行應用程式時,這兩個 Sprite 都會回應滑鼠事件,但是只有 buttonMode 設定為 true 的 Sprite 會使用手掌游標,並且包含於定位停駐點順序中:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.buttonMode = true;
circle1.addEventListener(MouseEvent.CLICK, clicked);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0xFFCC00);
circle2.graphics.drawCircle(120, 40, 40);
circle2.buttonMode = false;
circle2.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    trace ("Click!");
}

addChild(circle1);
addChild(circle2);

dropTarget

屬性 
dropTarget:DisplayObject  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

指定要將 sprite 拖曳至或丟棄至哪個顯示物件上。



實作
    public function get dropTarget():DisplayObject

相關 API 元素


範例  ( 如何使用本範例 )
下列範例會建立一個 circle sprite 與兩個 target sprite。 此 startDrag() 方法會在使用者將滑鼠指標放在 circle Sprite 上方並按一下滑鼠按鈕時被呼叫,並且當使用者放開滑鼠按鈕時,便會呼叫 stopDrag() 方法。 這樣做可讓使用者拖曳 sprite。 放開滑鼠按鈕時,會呼叫 mouseRelease() 方法,該方法接著會追蹤 dropTarget 物件的 name,該物件是使用者拖曳 circle Sprite 到其中的目標物件:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";

var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";

addChild(target1);
addChild(target2);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) 

function mouseDown(event:MouseEvent):void {
    circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
    circle.stopDrag();
    trace(circle.dropTarget.name);
}

graphics

屬性 
graphics:Graphics  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

指定屬於此 sprite 物件的 Graphics 物件,其中可能會產生向量繪圖命令。



實作
    public function get graphics():Graphics

範例  ( 如何使用本範例 )
下列範例會建立 circle sprite,並使用它的 graphics 屬性來繪製帶有黃色 (0xFFCC00) 填色的圓形:
import flash.display.Sprite;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);

hitArea

屬性 
hitArea:Sprite

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

指定用來當作 sprite 作用區域的另一個 sprite。 如果 hitArea 屬性不存在,或者其值為 nullundefined,會將 Sprite 本身當作作用區域。 hitArea 屬性的值可以是 Sprite 物件的參照。

您可以隨時更改 hitArea 屬性;修改後的 Sprite 會立即採用新的作用區域行為指令。 被指定當成感應區的 Sprite 不一定要看得見;即使看不見它的圖像形狀,仍然會偵測為感應區。

注意: 您必須將指定為作用區域的 Sprite 之 mouseEnabled 屬性設為 false, 否則,您的 Sprite 按鈕可能無法運作,因為指定為感應區的 Sprite 會接收使用者輸入事件,而不是您的 Sprite 按鈕。



實作
    public function get hitArea():Sprite
    public function set hitArea(value:Sprite):void

範例  ( 如何使用本範例 )
下列範例會建立一個 circle sprite 與兩個 square sprite。 square Sprite 就是 circle Sprite 的 hitArea。 因此,當使用者按下 square Sprite,circle Sprite 會傳送 click 事件:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var square:Sprite = new Sprite();
square.graphics.beginFill(0xCCFF00);
square.graphics.drawRect(200, 0, 100, 100);

circle.hitArea = square;
square.mouseEnabled = false;

circle.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void{
    trace(event.target == circle); // true
    trace(event.target == square); // false
}

addChild(circle);
addChild(square);

soundTransform

屬性 
soundTransform:flash.media:SoundTransform

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

控制此 Sprite 的聲音。

注意:此屬性不會影響 HTMLControl 物件中的 HTML 內容 (在 Adobe AIR 中)。



實作
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例會建立名為 container 的 Sprite,並將 Loader 物件加入至其子清單中。 這個 Loader 物件會載入 SWF 檔案。 當使用者按下 tf 文字欄位中的連結 truemute() 方法會設定 container Sprite soundTransform 屬性的 volume 屬性:
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.media.SoundTransform;

var container:Sprite = new Sprite();
addChild(container);

var ldr:Loader = new Loader;
var urlReq:URLRequest = new URLRequest("SoundPlayer.swf");
ldr.load(urlReq);

container.addChild(ldr);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound);
            
var tf:TextField = new TextField();
tf.htmlText = "<a href = 'event:Mute'>Mute / Unmute</a>";
addChild(tf);

var mySoundTransform:SoundTransform = new SoundTransform();
mySoundTransform.volume = 1;

tf.addEventListener(MouseEvent.CLICK, mute);

function mute(event:MouseEvent):void {    
    if (mySoundTransform.volume == 0) {
        mySoundTransform.volume = 1;
    } else {
        mySoundTransform.volume = 0;        
    }
    container.soundTransform = mySoundTransform;
}

function urlNotFound(event:IOErrorEvent):void {
    trace("The URL was not found."); 
}

useHandCursor

屬性 
useHandCursor:Boolean

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0

指示當指標滑入 Sprite,且其 buttonMode 屬性設為 true 時,是否要出現指示手掌 (手掌游標) 的 Boolean 值。useHandCursor 屬性的預設值是 true。如果 useHandCursor 設為 true,當指標滑入按鈕 Sprite 上方時,便會顯示按鈕所作用的指示手掌。如果 useHandCursorfalse,則會改用箭頭游標。

您可以隨時更改 useHandCursor 屬性;修改後的 Sprite 會立即採用新的游標行為指令。

注意:在 Flex 或 Flash Builder 中,如果您的 Sprite 具有子 Sprite,便可以將 mouseChildren 屬性設定為 false。例如,您要在 Flex <mx:Label> 控制項上方顯示手掌游標,請將 useHandCursorbuttonMode 屬性設定為 true,以及將 mouseChildren 屬性設定為 false



實作
    public function get useHandCursor():Boolean
    public function set useHandCursor(value:Boolean):void

相關 API 元素


範例  ( 如何使用本範例 )
下列範例會建立兩個 Sprite,並將 buttonMode 屬性設定為 true 供兩者使用,然而,會將 useHandCursor 屬性設定為 true 供其中一個 Sprite 使用,以及設為 false 供另一個 Sprite 使用。 當您編譯並執行此應用程式時,這兩個 Sprite 都會回應為按鈕 (並且都會包含在定位停駐點順序中),但是只有 useHandCursor 設為 true 的 Sprite 會使用手掌游標:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.buttonMode = true;
circle1.useHandCursor = true;
circle1.addEventListener(MouseEvent.CLICK, clicked);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0xFFCC00);
circle2.graphics.drawCircle(120, 40, 40);
circle2.buttonMode = true;
circle2.useHandCursor = false;
circle2.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    trace ("Click!");
}

addChild(circle1);
addChild(circle2);
建構函式詳細資料

Sprite

()建構函式
public function Sprite()

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

建立新的 Sprite 實體。 在您建立 Sprite 實體之後,請呼叫 DisplayObjectContainer.addChild()DisplayObjectContainer.addChildAt() 方法,將 Sprite 加入至上層 DisplayObjectContainer。

方法詳細資訊

startDrag

()方法
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

讓使用者拖曳指定的 sprite。 某個 Sprite 會在您呼叫 Sprite.stopDrag() 方法來明確停止拖曳它之前,或者在您啟用拖曳另一個 Sprite 之前,維持可拖曳的狀態。 您一次只能拖曳一個 sprite。

三維顯示物件會隨著指標移動,而且 Sprite.startDrag() 會將物件在顯示物件所定義的三維平面內移動。或者,如果顯示物件是二維物件,而且是三維物件的子物件,則二維物件會在三維父物件所定義的三維平面內移動。

參數

lockCenter:Boolean (default = false) — 指定是否將可拖曳的 Sprite 鎖定在指標位置中心 (true),或者鎖定在使用者第一次按下 Sprite 的位置點 (false)。
 
bounds:Rectangle (default = null) — 相對於 Sprite 父輩座標,且指定 Sprite 限制矩形的數值。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會建立一個 circle sprite 與兩個 target sprite。 此 startDrag() 方法會在使用者將滑鼠指標放在 circle Sprite 上方並按一下滑鼠按鈕時被呼叫,並且當使用者放開滑鼠按鈕時,便會呼叫 stopDrag() 方法。 這樣做可讓使用者拖曳 sprite。 放開滑鼠按鈕時,會呼叫 mouseRelease() 方法,該方法接著會追蹤 dropTarget 物件的 name,該物件是使用者拖曳 circle Sprite 到其中的目標物件:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";

var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";

addChild(target1);
addChild(target2);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) 

function mouseDown(event:MouseEvent):void {
    circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
    circle.stopDrag();
    trace(circle.dropTarget.name);
}

startTouchDrag

()方法 
public function startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10.1, AIR 2, Flash Lite 4

讓使用者將指定的 Sprite 拖曳至觸控裝置上。某個 Sprite 會在您呼叫 Sprite.stopTouchDrag() 方法來明確停止拖曳它之前,或者在您啟用拖曳另一個 Sprite 之前,維持可拖曳的狀態。 您一次只能拖曳一個 sprite。

三維顯示物件會隨著指標移動,而且 Sprite.startTouchDrag() 會在顯示物件所定義的三維平面內移動物件。或者,如果顯示物件是二維物件,而且是三維物件的子物件,則二維物件會在三維父物件所定義的三維平面內移動。

參數

touchPointID:int — 要指定給觸控點的整數。
 
lockCenter:Boolean (default = false) — 指定是否將可拖曳的 Sprite 鎖定在指標位置中心 (true),或者鎖定在使用者第一次按下 Sprite 的位置點 (false)。
 
bounds:Rectangle (default = null) — 相對於 Sprite 父輩座標,且指定 Sprite 限制矩形的數值。

相關 API 元素


範例  ( 如何使用本範例 )

以下範例會顯示如何利用 startTouchDrag 與 stopTouchDrag 來處理 touchBegin 和 touchEnd 事件。 touchPointID 的值是指定給事件物件的值。邊界參數是一個矩形,定義父顯示物件的邊緣 ( bg 是一個內含 MySprite 的顯示物件)。
MySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
MySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);

function onTouchBegin(e:TouchEvent) {
     e.target.startTouchDrag(e.touchPointID, false, bg.getRect(this));
     trace("touch begin");
 
 }
function onTouchEnd(e:TouchEvent) {
     e.target.stopTouchDrag(e.touchPointID);
     trace("touch end");
}

stopDrag

()方法 
public function stopDrag():void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 9, AIR 1.0, Flash Lite 4

結束 startDrag() 方法。 某個 Sprite 若是因為 startDrag() 方法成為可拖曳,則該 sprtie 將會維持可拖曳的狀態,直到加入 stopDrag() 方法、或是有另一個 sprtie 成為可拖曳為止。 您一次只能拖曳一個 sprite。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會建立一個 circle sprite 與兩個 target sprite。 此 startDrag() 方法會在使用者將滑鼠指標放在 circle Sprite 上方並按一下滑鼠按鈕時被呼叫,並且當使用者放開滑鼠按鈕時,便會呼叫 stopDrag() 方法。 這樣做可讓使用者拖曳 sprite。 放開滑鼠按鈕時,會呼叫 mouseRelease() 方法,該方法接著會追蹤 dropTarget 物件的 name,該物件是使用者拖曳 circle Sprite 到其中的目標物件:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";

var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";

addChild(target1);
addChild(target2);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) 

function mouseDown(event:MouseEvent):void {
    circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
    circle.stopDrag();
    trace(circle.dropTarget.name);
}

stopTouchDrag

()方法 
public function stopTouchDrag(touchPointID:int):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10.1, AIR 2, Flash Lite 4

結束觸控裝置使用的 startTouchDrag() 方法。某個 Sprite 若是因為 startTouchDrag() 方法成為可拖曳,則該 sprtie 將會維持可拖曳的狀態,直到加入 stopTouchDrag() 方法或是有另一個 sprtie 成為可拖曳為止。 您一次只能拖曳一個 sprite。

參數

touchPointID:int — 指定給 startTouchDrag 方法之觸控點的整數。

相關 API 元素


範例  ( 如何使用本範例 )

以下範例會顯示如何利用 startTouchDrag 與 stopTouchDrag 來處理 touchBegin 和 touchEnd 事件。 touchPointID 的值是指定給事件物件的值。邊界參數是一個矩形,定義父顯示物件的邊緣 ( bg 是一個內含 MySprite 的顯示物件)。
MySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
MySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);

function onTouchBegin(e:TouchEvent) {
     e.target.startTouchDrag(e.touchPointID, false, bg.getRect(this));
     trace("touch begin");
 
 }
function onTouchEnd(e:TouchEvent) {
     e.target.stopTouchDrag(e.touchPointID);
     trace("touch end");
}
SpriteExample.as

下列範例會使用 SpriteExample 類別,在舞台上繪製橘色正方形,並且在每次使用者按一下或拖曳此正方形時傳送事件。 您可以執行下列步驟來完成這項工作:
  1. 宣告 size 屬性 (100 x 100 像素) 以及背景顏色 (橘色),以供稍後繪製正方形時使用。
  2. 然後此建構函式會建立新的 child Sprite 物件,並使用此物件加入兩個事件偵聽程式,以及與這兩個偵聽程式相關的方法:mouseDownHandler()mouseUpHandler()
  3. child Sprite 物件會接著傳遞至 draw() 方法,以繪製橘色正方形。
  4. 接著,子系會在呼叫 addChild() 方法時置於顯示清單上。
  5. 這兩個事件偵聽程式的運作方式如下:
    • mouseDownHandler():當使用者按一下 Sprite 物件時,這個方法會加入 mouseMove 事件偵聽程式 (mouseMoveHandler() 方法),以便處理滑鼠移動事件。 然後呼叫 startDrag() 方法,允許使用者拖曳這個 Sprite 物件。
    • mouseUpHandler():當放開滑鼠按鈕時,便會移除 mouseMove 事件偵聽程式,並呼叫 stopDrag() 方法,立即停止橘色正方形的動作。
    • mouseMoveHandler:只要滑鼠左鍵被按住不放,這個方法就會指示播放程式持續重新繪製此橘色正方形。

注意: 每個事件偵聽程式方法都會宣告區域 sprite 變數,此變數會指定為該事件的 target 屬性。

package {
    import flash.display.Sprite;
    import flash.events.*;

    public class SpriteExample extends Sprite {
        private var size:uint    = 100;
        private var bgColor:uint = 0xFFCC00;

        public function SpriteExample() {
            var child:Sprite = new Sprite();
            child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
            child.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
            draw(child);
            addChild(child);
        }

        private function mouseDownHandler(event:MouseEvent):void {
            trace("mouseDownHandler");
            var sprite:Sprite = Sprite(event.target);
            sprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            sprite.startDrag();
        }

        private function mouseUpHandler(event:MouseEvent):void {
            trace("mouseUpHandler");
            var sprite:Sprite = Sprite(event.target);
            sprite.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            sprite.stopDrag();
        }

        private function mouseMoveHandler(event:MouseEvent):void {
            trace("mouseMoveHandler");
            event.updateAfterEvent();
        }

        private function draw(sprite:Sprite):void {
            sprite.graphics.beginFill(bgColor);
            sprite.graphics.drawRect(0, 0, size, size);
            sprite.graphics.endFill();
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。