1.6. 响应鼠标和键盘事件 问题我要处理鼠标或键盘事件
解决办法监听和捕获处理鼠标和键盘事件
讨论 处理鼠标和键盘事件很类似于enterFrame 事件,这些在1.5节已经讨论过,只是略有不同。对于鼠标事件,主程序不会直接接收,需要通过一个可视组件监听它(关于可视组件会在第5章讨论)。下面的例子创建一个sprite,添加到可视组件列,然后在它上面画了个矩形:
package { import flash.display.Sprite; import flash.events.MouseEvent; public class ExampleApplication extends Sprite { private var _sprite:Sprite; public function ExampleApplication( ) { _sprite = new Sprite( ); addChild(_sprite); _sprite.graphics.beginFill(0xffffff); _sprite.graphics.drawRect(0, 0, 400, 400); _sprite.graphics.endFill( );注意:鼠标事件名称被定义在 MouseEvent 类中,事件处理函数需要传递进一个MouseEvent 类实例,现在为sprite加入鼠标监听器:
_sprite.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _sprite.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); }接着,定义两个处理函数onMouseDown 和 onMouseUp:
private function onMouseDown(event:MouseEvent):void { _sprite.graphics.lineStyle(1, 0, 1); _sprite.graphics.moveTo(mouseX, mouseY); _sprite.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); } private function onMouseUp(event:MouseEvent):void { _sprite.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); }onMouseDown 方法设置画线的类型,移动画刷到鼠标点击位置,然后添加了第三个鼠标监听器监听 MouseMove 事件
onMouseUp 方法用removeEventListener 方法移除监听器,它和addEventListener 方法具有相同语法结构,只是作用相反罢了
最后,定义onMouseMove 函数
private function onMouseMove(event:MouseEvent):void { _sprite.graphics.lineTo(mouseX, mouseY); } } }这样就建立了一个事件驱动的绘画程序。
键盘事件的处理简单一些,只需要监听和响应键盘事件,接受这些事件的对象必须出于激活状态。我们需要在主程序中加入这一行:
stage.focus = this;
下面的例子展示一个简单的类,它监听键盘的 keyDown 事件,输出按键的字符码,
package ...{
import flash.display.Sprite;
import flash.events.KeyboardEvent;
public class ExampleApplication extends Sprite ...{
public function ExampleApplication( ) ...{
stage.focus = this;
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
}
private function onKeyDown(event:KeyboardEvent):void ...{
trace("key down: " + event.charCode);
}
}
}
分享到:
相关推荐
雷柏(RAPOO)是一家知名的电脑外设制造商,其产品包括键盘、鼠标、耳机等。8130无线键鼠套装是他们推出的一款产品,旨在为用户提供高效、舒适的无线输入体验。 驱动程序的版本号"v1.6"表明这是该驱动的第1.6次更新...
MINIGUI通过事件驱动模型来处理用户交互,如键盘输入、鼠标点击等。开发者需要注册事件处理函数,如`RegisterWindowMessageProc()`,以响应特定的窗口消息。同时,MINIGUI还支持自定义消息和事件,增强了应用程序的...
2. 事件处理:通过事件队列,MiniGUI可以处理鼠标、键盘以及其他输入设备的事件,实现用户交互。 3. 图形绘制:包括点、线、矩形、椭圆等基本图形的绘制,以及颜色管理和位图操作。 4. 文本渲染:支持文本的显示,...
【标题】"自控鼠标加速器.rar" 涉及的核心知识点主要集中在“鼠标加速器”这一技术领域,它是一种能够提升鼠标响应速度和效率的软件工具。在日常使用计算机时,尤其是进行需要频繁鼠标点击或者精确操控的场景,如...
`java.awt.event`包包含了处理各种事件的接口和类,例如鼠标事件、键盘事件等。这些事件处理器允许程序响应用户的输入交互。 `java.awt.font`包提供了与字体相关的类和接口,如`Font`类用于表示字体样式,`...
5. **事件处理**:解释了如何注册事件处理函数,以及如何处理键盘、鼠标和其他输入设备的事件。 6. **多线程编程**:展示了如何在MinigUI中实现多线程应用,这对于复杂的、需要并行处理的任务非常有用。 7. **国际...
2. **事件处理**:Minigui通过消息队列和事件驱动模型处理用户的输入,如鼠标点击、键盘输入等,开发者可以通过注册回调函数来响应这些事件。 3. **多线程支持**:Minigui允许在GUI应用中使用多线程,可以提高程序...
内 存读写和进程操作.ec 内存读写模块 2.0.ec 内存读写模块 2[1].0.ec 内存读写模块.ec 内存读写模块 1.0.ec 内存读写模块2.0.ec 写屏幕.ec 冰川多媒体播放模块 1.0.ec 凝逸.注册易语言支持库 1.0.ec 凝逸网页取文...
内 存读写和进程操作.ec 内存读写模块 2.0.ec 内存读写模块 2[1].0.ec 内存读写模块.ec 内存读写模块 1.0.ec 内存读写模块2.0.ec 写屏幕.ec 冰川多媒体播放模块 1.0.ec 凝逸.注册易语言支持库 1.0.ec 凝逸网页取文...
5. **事件处理**:`event.c`演示了MiniGUI的事件模型,包括鼠标、键盘和定时器事件的处理。理解事件处理机制是编写响应用户输入的程序的关键。 6. **多线程编程**:在嵌入式环境中,多线程编程常用于实现并发操作。...
- 通过连接USB鼠标和键盘来验证系统的USB接口是否正常工作。 - 需要确保内核已加载相应的USB设备驱动,并且系统能够识别这些外设。 - **U盘测试**: - 介绍如何通过USB接口连接U盘,并对其进行读写操作的测试...
控件和窗口模块(1.6).zip 控制系统音量(1.0).zip 控制面板模块1.0(1.0).zip 控制鼠标活动范围(1.0).zip 酷按钮模块(2.2).zip 六十四卦卦相(1.0).zip 列表框打印预览(1.0).zip 良剑科技-外挂作坊模块(新年礼物)(1.0)....
控件和窗口模块(1.6).zip 控制系统音量(1.0).zip 控制面板模块1.0(1.0).zip 控制鼠标活动范围(1.0).zip 酷按钮模块(2.2).zip 六十四卦卦相(1.0).zip 列表框打印预览(1.0).zip 良剑科技-外挂作坊模块(新年礼物...
创建时钟事件.ec 删除文件模块.ec 删除文本所在行.ec 判断ASCII编码.ec 判断XP外观支持文件是否存在.ec 判断字符模块.ec 判断数据库.ec 判断进程是否存在的模块.ec 到文本.ec 办公组件密码管理模块.ec ...
MiniGUI通过事件队列来处理用户的输入事件,包括键盘、鼠标和触摸屏事件。开发者需要编写事件处理函数来响应这些事件,实现交互逻辑。 6. **多线程编程**:MiniGUI支持多线程编程,允许开发者在后台执行耗时任务,...
- `Tweakui.exe` 很可能是微软的Tweak UI工具,它提供了对Windows界面和设置的高级调整,包括鼠标、键盘、启动项等方面的设置。 - `自动登录设置器.exe` 允许用户设置Windows系统自动登录,省去了每次开机输入密码...
4. 提供鼠标输入的方式,用户可以通过点击按钮或使用键盘输入数值和运算符。 5. 使用图形用户界面(GUI)中的事件委托机制,当用户点击按钮时,程序能及时响应并执行相应的计算。 6. 结果显示在计算器的文本框中,...