flash.display
public class SimpleButton
继承SimpleButton Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
子类 FlexSimpleButton

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

使用 SimpleButton 类,您可以控制 SWF 文件中按钮元件的所有实例。在创作工具中创建了按钮的一个实例后,您可以使用 SimpleButton 类的方法和属性,通过 ActionScript 来操作按钮。

在 ActionScript 3.0 中,您使用 new SimpleButton() 构造函数来创建 SimpleButton 实例。

SimpleButton 类继承自 InteractiveObject 类。

查看示例

另请参见

InteractiveObject 类
Core display classes


公共属性
 属性定义方
 InheritedaccessibilityProperties : AccessibilityProperties
此显示对象的当前辅助功能选项。
DisplayObject
 Inheritedalpha : Number
指示指定对象的 Alpha 透明度值。
DisplayObject
 InheritedblendMode : String
BlendMode 类中的一个值,用于指定要使用的混合模式。
DisplayObject
 InheritedblendShader : Shader
[只写] 设置用于混合前景和背景的着色器。
DisplayObject
 InheritedcacheAsBitmap : Boolean
如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。
DisplayObject
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedcontextMenu : NativeMenu
指定与此对象相关联的上下文菜单。
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
指定此对象是否接收 doubleClick 事件。
InteractiveObject
  downState : DisplayObject
指定一个用作按钮“按下”状态(当用户单击 hitTestState 对象时,按钮所处的状态)的可视对象的显示对象。
SimpleButton
  enabled : Boolean
布尔值,指定按钮是否处于启用状态。
SimpleButton
 Inheritedfilters : Array
包含当前与显示对象关联的每个滤镜对象的索引数组。
DisplayObject
 InheritedfocusRect : Object
指定此对象是否显示焦点矩形。
InteractiveObject
 Inheritedheight : Number
指示显示对象的高度,以像素为单位。
DisplayObject
  hitTestState : DisplayObject
指定一个用作按钮的点击测试对象的显示对象。
SimpleButton
 InheritedloaderInfo : LoaderInfo
[只读 (read-only)] 返回一个 LoaderInfo 对象,其中包含加载此显示对象所属的文件的相关信息。
DisplayObject
 Inheritedmask : DisplayObject
调用显示对象被指定的 mask 对象遮罩。
DisplayObject
 InheritedmouseEnabled : Boolean
指定此对象是否接收鼠标消息。
InteractiveObject
 InheritedmouseX : Number
[只读 (read-only)] 指示鼠标位置的 x 坐标,以像素为单位。
DisplayObject
 InheritedmouseY : Number
[只读 (read-only)] 指示鼠标位置的 y 坐标,以像素为单位。
DisplayObject
 Inheritedname : String
指示 DisplayObject 的实例名称。
DisplayObject
 InheritedopaqueBackground : Object
指定显示对象是否由于具有某种背景颜色而不透明。
DisplayObject
  overState : DisplayObject
指定一个用作按钮经过状态(当鼠标位于按钮上方时,按钮所处的状态)的可视对象的显示对象。
SimpleButton
 Inheritedparent : DisplayObjectContainer
[只读 (read-only)] 指示包含此显示对象的 DisplayObjectContainer 对象。
DisplayObject
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
 Inheritedroot : DisplayObject
[只读 (read-only)] 对于加载的 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
  soundTransform : SoundTransform
分配给此按钮的 SoundTransform 对象。
SimpleButton
 Inheritedstage : Stage
[只读 (read-only)] 显示对象的舞台。
DisplayObject
 InheritedtabEnabled : Boolean
指定此对象是否遵循 Tab 键顺序。
InteractiveObject
 InheritedtabIndex : int
指定 SWF 文件中的对象按 Tab 键顺序排列。
InteractiveObject
  trackAsMenu : Boolean
指示属于 SimpleButton 或 MovieClip 对象的其它显示对象是否可以接收鼠标释放事件。
SimpleButton
 Inheritedtransform : Transform
一个对象,具有与显示对象的矩阵、颜色转换和像素范围有关的属性。
DisplayObject
  upState : DisplayObject
指定一个用作按钮弹起状态(当鼠标没有位于按钮上方时,按钮所处的状态)的可视对象的显示对象。
SimpleButton
  useHandCursor : Boolean
一个布尔值,当设置为 true 时,指示鼠标指针滑过按钮上方时是否显示手形光标。
SimpleButton
 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
公共方法
 方法定义方
  
SimpleButton(upState:DisplayObject = null, overState:DisplayObject = null, downState:DisplayObject = null, hitTestState:DisplayObject = null)
创建一个新的 SimpleButton 实例。
SimpleButton
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。
DisplayObject
 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
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited将显示对象添加到显示列表中时调度。DisplayObject
 Inherited在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。DisplayObject
 Inherited当用户从文本上下文菜单中选择“清除”(或“删除”)时调度。InteractiveObject
 Inherited用户在同一 InteractiveObject 上按下并释放用户指针设备的主按钮时调度。InteractiveObject
 Inherited当用户在 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
 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在将拖动对象放置到目标上且已通过对 DragManager.acceptDragDrop() 的调用接受该放置操作时,由目标 InteractiveObject 调度。InteractiveObject
 Inherited当拖动动作进入其边界时由 InteractiveObject 调度。InteractiveObject
 Inherited当拖动动作离开其边界时由 InteractiveObject 调度。InteractiveObject
 Inherited当拖动动作保持在其边界内时,由 InteractiveObject 持续调度。InteractiveObject
 Inherited在拖动操作开始时由在 DragManager.doDrag() 调用中指定为拖动启动器的 InteractiveObject 调度。InteractiveObject
 Inherited在拖动操作期间由在 DragManager.doDrag() 调用中指定为拖动启动器的 InteractiveObject 调度。InteractiveObject
 Inherited当用户激活特定于平台的粘贴操作的快捷键组合或从文本上下文菜单中选择“粘贴”时调度。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对象的 tabChildren 标志值发生更改时调度。InteractiveObject
 Inherited对象的 tabEnabled 标志发生更改时调度。InteractiveObject
 Inherited对象的 tabIndex 属性值发生更改时调度。InteractiveObject
属性详细信息
downState属性
downState:DisplayObject  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定一个用作按钮“按下”状态(当用户单击 hitTestState 对象时,按钮所处的状态)的可视对象的显示对象。



实现
    public function get downState():DisplayObject
    public function set downState(value:DisplayObject):void

另请参见

enabled属性 
enabled:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

布尔值,指定按钮是否处于启用状态。按钮被禁用时(enabled 属性设置为 false),该按钮虽然可见,但不能被单击。默认值为 true。如果想要禁用部分导航按钮,则此属性非常有用;例如,您可能希望禁用当前显示的页面上的某个按钮,以便禁止单击该按钮并禁止重新加载该页面。

注意:若要防止按钮上的 mouseClicks 行为,请将 enabledmouseEnabled 属性设置为 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

指定一个用作按钮的点击测试对象的显示对象。对于基本按钮,将 hitTestState 属性设置为与 overState 属性相同的显示对象。如果没有设置 hitTestState 属性,则 SimpleButton 处于非活动状态 -- 它不对鼠标和键盘事件进行响应。



实现
    public function get hitTestState():DisplayObject
    public function set hitTestState(value:DisplayObject):void

另请参见

overState属性 
overState:DisplayObject  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定一个用作按钮经过状态(当鼠标位于按钮上方时,按钮所处的状态)的可视对象的显示对象。



实现
    public function get overState():DisplayObject
    public function set overState(value:DisplayObject):void

另请参见

soundTransform属性 
soundTransform:SoundTransform  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

分配给此按钮的 SoundTransform 对象。SoundTransform 对象包含用于设置音量、平移、左扬声器指定和右扬声器指定的属性。SoundTransform 对象适用于按钮的所有状态。SoundTransform 对象仅影响嵌入的声音。



实现
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

另请参见

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

指定一个用作按钮弹起状态(当鼠标没有位于按钮上方时,按钮所处的状态)的可视对象的显示对象。



实现
    public function get upState():DisplayObject
    public function set upState(value:DisplayObject):void

另请参见

useHandCursor属性 
useHandCursor:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

一个布尔值,当设置为 true 时,指示鼠标指针滑过按钮上方时是否显示手形光标。如果此属性设置为 false,则将改用箭头指针。默认值为 true

可以随时更改 useHandCursor 属性;修改后的按钮会立即使用新的光标行为。



实现
    public function get useHandCursor():Boolean
    public function set useHandCursor(value:Boolean):void
构造函数详细信息
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

创建一个新的 SimpleButton 实例。可以将表示各种按钮状态的任意或全部显示对象都设置为构造函数中的参数。

参数
upState:DisplayObject (default = null) — SimpleButton 弹起状态的初始值。
 
overState:DisplayObject (default = null) — SimpleButton 经过状态的初始值。
 
downState:DisplayObject (default = null) — SimpleButton 按下状态的初始值。
 
hitTestState:DisplayObject (default = null) — SimpleButton hitTest 状态的初始值。
示例 如何使用示例
SimpleButtonExample.as

下例使用 SimpleButtonExample 类,该类又使用 CustomSimpleButton 类,后者又实例化四个 ButtonDisplayState 对象。最终会创建一个正方形的按钮,通过覆盖 SimpleButton 类的实例属性,其背景色会根据鼠标状态而发生变化。执行下列步骤可完成此操作:
  1. SimpleButtonExample() 构造函数中,创建一个名为 button 的 SimpleButton 类型的新 CustomSimpleButton 对象,该对象调用 CustomSimpleButton 构造函数方法。button 对象将添加到显示列表中。按钮的颜色和大小在以下步骤中确定。
  2. 在 CustomSimpleButton 类中,声明一些实例属性,以后将使用这些属性控制 button 处于不同状态时的大小和背景色(正常状态为黄色,鼠标滑过时为深黄色,鼠标按下时为浅蓝色)。在 button 的所有状态下,可使用 size 属性将正方形的大小设置为 80 像素。
  3. CustomSimpleButton 类的构造函数使用 ButtonDisplayState 类的四个实例设置 downStateoverStateupStatehitTestStateuseHandCursor 属性。
  4. 在 ButtonDisplayState 类中,构造函数设置正方形的大小和背景色的值,并调用 draw() 方法。
  5. 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();
    }
}