套件 | flash.display |
類別 | public class SimpleButton |
繼承 | SimpleButton InteractiveObject DisplayObject EventDispatcher Object |
子類別 | FlexSimpleButton |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
在 Flash Professional 中,您可以在「屬性」檢測器中為按鈕指定一個實體名稱。SimpleButton 實體名稱會顯示在「影片結構檢視器」以及「動作」面板的「插入目標路徑」對話方塊中。在使用 Flash Professional 建立按鈕實體後,您就可以使用 SimpleButton 類別的方法與屬性來操作 ActionScript 的按鈕。
在 ActionScript 3.0 中,您也可以使用 new SimpleButton()
建構函式來建立 SimpleButton 實體。
SimpleButton 類別會繼承 InteractiveObject 類別。
從 Player 11.2 版本/AIR 3.2 版本開始,SimpleButton
物件狀態的 parent
屬性會報告 null
(若查詢的話)。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
對此 InteractiveObject 實體目前的輔助功能實作 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此顯示物件的目前輔助功能選項。 | DisplayObject | ||
alpha : Number
指出所指定物件的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String
來自 BlendMode 類別的值,會指定要使用何種混合模式。 | DisplayObject | ||
blendShader : Shader [唯寫]
設定用來混合前景和背景的著色器。 | DisplayObject | ||
cacheAsBitmap : Boolean
如果設定為 true,Flash 執行階段會快取顯示物件的內部點陣圖表示法。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果為非 null,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。 | DisplayObject | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
contextMenu : NativeMenu
指定與此物件有關聯的快顯選單。 | InteractiveObject | ||
doubleClickEnabled : Boolean
會指定物件是否會收到 doubleClick 事件。 | InteractiveObject | ||
downState : DisplayObject
指定用來當作按鈕「按下」狀態 (指的是當使用者選取 hitTestState 物件時,按鈕所處的狀態) 視覺物件的顯示物件。 | SimpleButton | ||
enabled : Boolean
指定按鈕是否已啟用的 Boolean 值。 | SimpleButton | ||
filters : Array
索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。 | DisplayObject | ||
focusRect : Object
會指定這個物件是否會顯示焦點矩形。 | InteractiveObject | ||
height : Number
會指出顯示物件的高度,以像素為單位。 | DisplayObject | ||
hitTestState : DisplayObject
指定用來當作按鈕測試物件的顯示物件。 | SimpleButton | ||
loaderInfo : LoaderInfo [唯讀]
會傳回 LoaderInfo 物件,其中包含關於載入此顯示物件所屬之檔案的資訊。 | DisplayObject | ||
mask : DisplayObject
呼叫之顯示物件會以指定的 mask 物件遮蓋。 | DisplayObject | ||
metaData : Object
如果中繼資料是透過 PlaceObject4 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 DisplayObject 實體的中繼資料物件。 | DisplayObject | ||
mouseEnabled : Boolean
指定此物件是否接收滑鼠或其他使用者輸入及訊息。 | InteractiveObject | ||
mouseX : Number [唯讀]
指出滑鼠或使用者輸入裝置位置的 x 座標,以像素為單位。 | DisplayObject | ||
mouseY : Number [唯讀]
指出滑鼠或使用者輸入裝置位置的 y 座標,以像素為單位。 | DisplayObject | ||
name : String
指出 DisplayObject 的實體名稱。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定虛擬鍵盤 (螢幕上的軟體鍵盤) 是否應在此 InteractiveObject 實體接收到焦點時顯示。 | InteractiveObject | ||
opaqueBackground : Object
會指定顯示物件是否不透明,並具有特定背景顏色。 | DisplayObject | ||
overState : DisplayObject
指定用來當作按鈕「一般」狀態 (指的是當指標滑入按鈕上方時,按鈕所處的狀態) 視覺物件的顯示物件。 | SimpleButton | ||
parent : DisplayObjectContainer [唯讀]
指出包含此顯示物件的 DisplayObjectContainer 物件。 | DisplayObject | ||
root : DisplayObject [唯讀]
對載入之 SWF 檔案的顯示物件而言,root 屬性就是該 SWF 檔案所呈現之顯示清單樹狀結構部分的最上層顯示物件。 | DisplayObject | ||
rotation : Number
指出 DisplayObject 實體的旋轉度數 (從該物件原本方向算起)。 | DisplayObject | ||
rotationX : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 x 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rotationY : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 y 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rotationZ : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 z 軸旋轉 (以度數為單位)。 | DisplayObject | ||
scale9Grid : Rectangle
目前產生效用的縮放格線。 | DisplayObject | ||
scaleX : Number
指出從註冊點套用的物件水平縮放 (百分比)。 | DisplayObject | ||
scaleY : Number
指出從物件註冊點套用的物件垂直縮放 (百分比)。 | DisplayObject | ||
scaleZ : Number
指出從物件註冊點套用的物件深度縮放 (百分比)。 | DisplayObject | ||
scrollRect : Rectangle
顯示物件的捲動矩形範圍。 | DisplayObject | ||
softKeyboard : String
控制軟體鍵盤的外觀。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定義顯示軟體鍵盤時,應保留於螢幕上的區域 (iOS 未提供)。 | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
指定給這個按鈕的 SoundTransform 物件。 | SimpleButton | ||
stage : Stage [唯讀]
顯示物件的「舞台」。 | DisplayObject | ||
tabEnabled : Boolean
會指定這個物件是否在停駐點順序中。 | InteractiveObject | ||
tabIndex : int
會指定 SWF 檔中的物件停駐點順序。 | InteractiveObject | ||
trackAsMenu : Boolean
指示其他屬於 SimpleButton 或 MovieClip 物件的顯示物件是否可以接收使用者輸入放開事件。 | SimpleButton | ||
transform : flash.geom:Transform
這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。 | DisplayObject | ||
upState : DisplayObject
指定用來當作按鈕「一般」狀態 (指的是當指標並尚未滑入按鈕上方時,按鈕所處的狀態) 之視覺物件的顯示物件。 | SimpleButton | ||
useHandCursor : Boolean
Boolean 值,設定為 true 時,表示指標滑入按鈕上方時是否顯示手掌游標。 | SimpleButton | ||
visible : Boolean
不管是否看得見顯示物件。 | DisplayObject | ||
width : Number
會指出顯示物件的寬度,以像素為單位。 | DisplayObject | ||
x : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 x 座標。 | DisplayObject | ||
y : Number
指出 DisplayObject 實體相對於父輩 DisplayObjectContainer 之區域座標的 y 座標。 | DisplayObject | ||
z : Number
表示 DisplayObject 實體相對於 3D 父輩容器的 z 座標位置 (沿著 z 軸)。 | DisplayObject |
方法 | 定義自 | ||
---|---|---|---|
SimpleButton(upState:DisplayObject = null, overState:DisplayObject = null, downState:DisplayObject = null, hitTestState:DisplayObject = null)
建立新的 SimpleButton 實體。 | SimpleButton | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
傳回可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。 | DisplayObject | ||
根據 targetCoordinateSpace 參數所定義的座標系統,並排除形狀上的任何筆畫,傳回可定義顯示物件邊界的矩形。 | DisplayObject | ||
將 point 物件從「舞台」(全域) 座標轉換成顯示物件的 (區域) 座標。 | DisplayObject | ||
將二維點從「舞台」(全域) 座標轉換為三維顯示物件的 (區域) 座標。 | DisplayObject | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
評估顯示物件的範圍框,看它是否與 obj 顯示物件的範圍框重疊或相交。 | DisplayObject | ||
評估顯示物件,看它是否與 x 和 y 參數所指定的點重疊或相交。 | DisplayObject | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
將三維顯示物件的 (區域) 座標的三維點轉換為「舞台」(全域) 座標中的二維點。 | DisplayObject | ||
將 point 物件從顯示物件的 (區域) 座標轉換成「舞台」(全域) 座標。 | DisplayObject | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
升起顯示虛擬鍵盤。 | InteractiveObject | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
downState | 屬性 |
downState:DisplayObject
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定用來當作按鈕「按下」狀態 (指的是當使用者選取 hitTestState
物件時,按鈕所處的狀態) 視覺物件的顯示物件。
實作
public function get downState():DisplayObject
public function set downState(value:DisplayObject):void
相關 API 元素
enabled | 屬性 |
enabled:Boolean
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定按鈕是否已啟用的 Boolean 值。 按鈕停用時 (enabled 屬性設為 false
),可以看見卻無法按下按鈕。 預設值是 true
。如果您想要停用部份瀏覽功能時,這個屬性便十分實用;例如,您可能會想要停用現在顯示頁面中的按鈕,使該按鈕的狀態變為無法按下,頁面也無法重新載入。
注意:為了防止按鈕上發生 mouseClicks,請將 enabled
和 mouseEnabled
屬性都設定為 false
。
實作
public function get enabled():Boolean
public function set enabled(value:Boolean):void
hitTestState | 屬性 |
hitTestState:DisplayObject
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定用來當作按鈕測試物件的顯示物件。 如果是基本按鈕,請將 hitTestState
屬性設為 overState
屬性所屬的相同顯示物件。 如果您沒有設定 hitTestState
屬性,便不會啟用 SimpleButton,表示該類別不會回應使用者輸入事件。
實作
public function get hitTestState():DisplayObject
public function set hitTestState(value:DisplayObject):void
相關 API 元素
overState | 屬性 |
overState:DisplayObject
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定用來當做按鈕「一般」狀態 (指的是當指標滑入按鈕上方時,按鈕所處的狀態) 視覺物件的顯示物件。
實作
public function get overState():DisplayObject
public function set overState(value:DisplayObject):void
相關 API 元素
soundTransform | 屬性 |
soundTransform:flash.media:SoundTransform
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
指定給這個按鈕的 SoundTransform 物件。 SoundTransform 物件包含可用來設定音量、左右相位、指定左邊喇叭,以及指定右邊喇叭的屬性。 這個 SoundTransform 物件可以套用至所有按鈕狀態。 這個 SoundTransform 物件只會影響內嵌的聲音。
實作
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
相關 API 元素
trackAsMenu | 屬性 |
trackAsMenu:Boolean
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
指示其他屬於 SimpleButton 或 MovieClip 物件的顯示物件是否可以接收使用者輸入放開事件。trackAsMenu
屬性可讓您建立選單。 您可以在任何 SimpleButton 或 MovieClip 物件上設定 trackAsMenu
屬性。 如果 trackAsMenu
屬性不存在,則預設的行為指令是 false
。
您可以隨時更改 trackAsMenu
屬性;修改後的按鈕會立即採用新的行為指令。
實作
public function get trackAsMenu():Boolean
public function set trackAsMenu(value:Boolean):void
upState | 屬性 |
upState:DisplayObject
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定用來當做按鈕「一般」狀態 (指的是當指標並尚未滑入按鈕上方時,按鈕所處的狀態) 之視覺物件的顯示物件。
實作
public function get upState():DisplayObject
public function set upState(value:DisplayObject):void
相關 API 元素
useHandCursor | 屬性 |
SimpleButton | () | 建構函式 |
public function SimpleButton(upState:DisplayObject = null, overState:DisplayObject = null, downState:DisplayObject = null, hitTestState:DisplayObject = null)
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
建立新的 SimpleButton 實體。 代表不同按鈕狀態可設為建構函式中的參數之任何或所有顯示物件。
參數upState:DisplayObject (default = null ) — SimpleButton 一般狀態的初始值。
| |
overState:DisplayObject (default = null ) — SimpleButton 滑入狀態的初始值。
| |
downState:DisplayObject (default = null ) — SimpleButton 按下狀態的初始值。
| |
hitTestState:DisplayObject (default = null ) — SimpleButton 測試狀態的初始值。
|
- 在
SimpleButtonExample()
建構函式中,建立名為button
、類型為 SimpleButton 的新 CustomSimpleButton 物件,此物件會呼叫CustomSimpleButton
建構函式方法。button
物件會加入至顯示清單。 該按鈕的顏色和大小會在接下來的步驟中決定。 - 在 CustomSimpleButton 類別中宣告實體屬性,稍後會使用這些屬性來控制
button
的大小和背景顏色 (根據它的狀態而定,橘色為一般狀態、深黃色為滑鼠滑入狀態,而淺綠色則為滑鼠按下狀態)。 * 在button
的所有狀態中,您可以使用size
屬性將正方形的大小設為 80 像素。 - CustomSimpleButton 類別的建構函數會設定 ButtonDisplayState 類別之四個實體的
downState
、overState
、upState
、hitTestState
和useHandCursor
屬性。 - 在 ButtonDisplayState 類別中,此建構函式會設定正方形的大小值與背景顏色,並呼叫
draw()
方法。 draw()
方法會以該建構函式中所設定、視按鈕狀態而定的大小與背景顏色,重新繪製該正方形。
package { import flash.display.Sprite; public class SimpleButtonExample extends Sprite { public function SimpleButtonExample() { var button:CustomSimpleButton = new CustomSimpleButton(); addChild(button); } } } import flash.display.DisplayObject; import flash.display.Shape; import flash.display.SimpleButton; class CustomSimpleButton extends SimpleButton { private var upColor:uint = 0xFFCC00; private var overColor:uint = 0xCCFF00; private var downColor:uint = 0x00CCFF; private var size:uint = 80; public function CustomSimpleButton() { downState = new ButtonDisplayState(downColor, size); overState = new ButtonDisplayState(overColor, size); upState = new ButtonDisplayState(upColor, size); hitTestState = new ButtonDisplayState(upColor, size * 2); hitTestState.x = -(size / 4); hitTestState.y = hitTestState.x; useHandCursor = true; } } class ButtonDisplayState extends Shape { private var bgColor:uint; private var size:uint; public function ButtonDisplayState(bgColor:uint, size:uint) { this.bgColor = bgColor; this.size = size; draw(); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } }
Tue Jun 12 2018, 03:47 PM Z