simpleButton的几种状态解析
2013-12-22 09:33
393 查看
可视化对象列表模型提供一种简单的方法通过 SimpleButton 类创建按钮。SimpleButton 类允许
用户用鼠标和可视化对象进行交互,通过各种状态定义交互方法,SimpleButton 按钮的状态有
以下这些:
upState
代表按钮默认"up"状态的对象,当鼠标不在按钮上,按钮就处于这个状态。
overState
当鼠标移动到按钮上时按钮的状态,鼠标离开时按钮又回到"up"状态。
downState
当鼠标按下左键时所处的状态
hitTestState
这个状态定义按钮的界限,只是用来跟踪鼠标的目的。
package {
import flash.display.*;
import flash.events.*;
public class SimpleButtonDemo extends Sprite {
public function SimpleButtonDemo( ) {
var button:SimpleButton = new SimpleButton( );
button.x = 20;
button.y = 20;
button.upState = createCircle( 0x00FF00, 15 );
button.overState = createCircle( 0xFFFFFF, 16 );
button.downState = createCircle( 0xCCCCCC, 15 )
button.hitTestState = button.upState;
button.addEventListener( MouseEvent.CLICK, handleClick );
addChild( button );
}
private function createCircle( color:uint, radius:Number ):Shape {
var circle:Shape = new Shape( );
circle.graphics.lineStyle( 1, 0x000000 );
circle.graphics.beginFill( color );
circle.graphics.drawCircle( 0, 0, radius );
circle.graphics.endFill( );
return circle;
}
private function handleClick( event:MouseEvent ):void {
trace( "Mouse clicked on the button" );
}
}
}
hitTestState 属性可能最有意思了,我们注意到上面的代码中把hitTestState 和upState设成了一样
的状态。也就说当鼠标进入upState 对象范围大小时就激活事件。
hitTestState 可以被设置成任何可显示的对象,像下面的代码那样把激活区域设大些:
button.hitTestState = createCircle( 0x000000, 50 );
再次运行你会发现,当鼠标还没靠近圆,over状态就激活了,这就是激活半径现在是50的缘故。hitTestState就是用来跟踪鼠标的目的的,也就是鼠标要做什么事。
用户用鼠标和可视化对象进行交互,通过各种状态定义交互方法,SimpleButton 按钮的状态有
以下这些:
upState
代表按钮默认"up"状态的对象,当鼠标不在按钮上,按钮就处于这个状态。
overState
当鼠标移动到按钮上时按钮的状态,鼠标离开时按钮又回到"up"状态。
downState
当鼠标按下左键时所处的状态
hitTestState
这个状态定义按钮的界限,只是用来跟踪鼠标的目的。
package {
import flash.display.*;
import flash.events.*;
public class SimpleButtonDemo extends Sprite {
public function SimpleButtonDemo( ) {
var button:SimpleButton = new SimpleButton( );
button.x = 20;
button.y = 20;
button.upState = createCircle( 0x00FF00, 15 );
button.overState = createCircle( 0xFFFFFF, 16 );
button.downState = createCircle( 0xCCCCCC, 15 )
button.hitTestState = button.upState;
button.addEventListener( MouseEvent.CLICK, handleClick );
addChild( button );
}
private function createCircle( color:uint, radius:Number ):Shape {
var circle:Shape = new Shape( );
circle.graphics.lineStyle( 1, 0x000000 );
circle.graphics.beginFill( color );
circle.graphics.drawCircle( 0, 0, radius );
circle.graphics.endFill( );
return circle;
}
private function handleClick( event:MouseEvent ):void {
trace( "Mouse clicked on the button" );
}
}
}
hitTestState 属性可能最有意思了,我们注意到上面的代码中把hitTestState 和upState设成了一样
的状态。也就说当鼠标进入upState 对象范围大小时就激活事件。
hitTestState 可以被设置成任何可显示的对象,像下面的代码那样把激活区域设大些:
button.hitTestState = createCircle( 0x000000, 50 );
再次运行你会发现,当鼠标还没靠近圆,over状态就激活了,这就是激活半径现在是50的缘故。hitTestState就是用来跟踪鼠标的目的的,也就是鼠标要做什么事。
相关文章推荐
- Dev控件使用之simplebutton设置背景色
- 玩转控件:Fucking ERP之流程图
- typedef用法总结
- C++编程规范之31:不要编写依赖于函数参数求值顺序的代码
- [编写高质量代码:改善java程序的151个建议]建议42,如何让一个工具类不可实例化
- 抽象类及其用法
- 网址列表
- 指定目录下所有文件后缀改名
- [编写高质量代码:改善java程序的151个建议]建议38-41
- -_-#【响应式】matchMedia
- 统计文件未接收的部分
- Centos系统设置
- frame和bounds的区别
- 用javascript实现简体和繁体字间的转换
- mapreduce测试
- ASP.NET中的XML和JSON
- 150个JS特效脚本
- 【转】C++ char数组转化为string
- 使用wxPython的绘图模块wxPyPlot进行数据可视化
- 信息安全开发注意事项(四)