[ActionScript 3.0] AS3.0 本机鼠标指针
Flash Player 10.2添加了内置的本机鼠标指针(native mouse cursor)支持,虽然在之前的版本里我们可以侦听MouseEvent事件来模拟鼠标指针,但是在有了原生的本机鼠标指针后,我们可以舍弃旧的方式,迎接更友好,更方便的鼠标指针了。
下面对比下模拟鼠标指针和本机鼠标指针。
模拟鼠标指针:
- 鼠标指针不能拖到舞台外部。
- 使用MouseEvent事件,效率低下。
- 使用方式麻烦。
本机鼠标指针:
- 鼠标指针可拖到舞台外部。
- 原生支持效率高。
- 直接用Mouse类,很方便。
新的本机鼠标的一些能力及限制:
- 必须使用BitmapData为鼠标指针的可视对象。
- 鼠标指针尺寸不能超过32*32。
- 可以使用多个BitamapData来播放动画。
- 可以自定义动画播放的帧频,与当前SWF的帧频无关。
- 可以鼠标自定义鼠标指针的热点,而不总是在(0,0)位置。
- 要在舞台外显示本机鼠标指针,必须按下鼠标左键拖到舞台外面才行。
示例代码:
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Point;
import flash.text.TextField;
import flash.ui.Mouse;
import flash.ui.MouseCursorData; /**
* ...
* @author Frost.Yen
* @e-mail 871979853@qq.com
* @create 2016/1/29 星期五 17:01
*/
[SWF(backgroundColor = "0x000000", width = 800, height = 600)]
public class Main extends Sprite
{
[Embed(source = "move.png")]
private var Corsor:Class;
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
} private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init); var mouseCursorData:MouseCursorData = new MouseCursorData();
mouseCursorData.data = Vector.<BitmapData>([Bitmap(new Corsor()).bitmapData]);
mouseCursorData.hotSpot = new Point(27, 5);
Mouse.registerCursor("nativeMouseCursor", mouseCursorData);
Mouse.cursor = "nativeMouseCursor"; var txt:TextField = new TextField();
txt.autoSize = "left";
txt.text = "按住鼠标并拖到Flash Player外部试试!";
txt.mouseEnabled = false;
txt.opaqueBackground = 0xFFFFFFF;
txt.x = (800-txt.width)*0.5;
txt.y = 10;
addChild(txt);
}
} }
注:运用[Embed(source = "move.png")]方式,必须使用Flex SDK 。
官方帮助:http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/ui/Mouse.html
[ActionScript 3.0] AS3.0 本机鼠标指针的更多相关文章
- [ActionScript 3.0] AS3.0和AS2.0的相互通信
AS3和AS2之间的通信,最好的方式可能就是LocalConnection了. AS2向AS3发送数据,即AS2调用AS3的函数: as2.0代码(按钮上写的发送信息代码): on (release) ...
- [ActionScript 3.0] AS3.0 让一个视频无缝循环播放的一个偏方
一个视频要循环播放,通常的办法都是播放完后再重新播放,但是不可避免的播放结束和重新开始播放这个时间点上会有停顿,如何解决这个问题,说个偏方吧! package com.views { import f ...
- [ActionScript 3.0] AS3.0 下雨及涟漪效果
帧代码: stage.frameRate = 80; function init(x1:Number,y1:Number) { var mc:MovieClip=new MovieClip(); ad ...
- [ActionScript 3.0] AS3.0 动态加载显示内容
可以将下列任何外部显示资源加载到 ActionScript 3.0 应用程序中: 在 ActionScript 3.0 中创作的 SWF 文件 — 此文件可以是 Sprite.MovieClip 或扩 ...
- [ActionScript 3.0] AS3.0 涂鸦及擦除功能,撤销重做步骤记录实例
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BlendMo ...
- [ActionScript 3.0] AS3.0 简单封装Socket的通信
Socket服务器 package com.controls.socket { import com.models.events.AppEvent; import com.models.events. ...
- [ActionScript 3.0] AS3.0 Socket通信实例
以下类是充当Socket服务器的例子 package { import flash.display.Sprite; import flash.events.Event; import flash.ev ...
- [ActionScript 3.0] AS3.0 对象在矩形范围随机运动
package com.views { import flash.display.Bitmap; import flash.display.MovieClip; import flash.displa ...
- [ActionScript 3.0] AS3.0 将图像的Alpha通道转换为黑白图像(分离ARGB方式)
import flash.display.BitmapData; import flash.display.Bitmap; /** * 将图像的Alpha通道转换为黑白图像(分离ARGB方式) */ ...
随机推荐
- FineReader Mac如何设置参数让导出为DOCX/RTF/ODT格式
Mac版ABBYY FineReader OCR文字识别软件识别文档之后,可以将已识别的文本保存到文件中,还可以通过电子邮件发送输出格式受FineReader支持的已识别文本,了解了ABBYY Fin ...
- OpenJudge计算概论-球弹跳高度的计算
/*======================================================================== 球弹跳高度的计算 总时间限制: 1000ms 内存 ...
- nginx设置不使用缓存 add_header Cache-Control no-cache
nginx设置不使用缓存 server { listen 443; #域名 server_name www.dev.163.com; #字符集 charset utf-8; ssl on; ssl_c ...
- Pigs and chickens
“Pigs and chickens”是Scrum软件开发模式中的一个比喻,用来比喻参会者在每天的Scrum会议中所起的作用. 在橄榄球中,scrum的意思是“重新开始游戏”.对于程序员来说,每日Sc ...
- css3写出0.5px的边框
一说到0.5px的边框,我们一般认为是不行的,因为在ps中0.5px的线也是做不出来的,这个计算机的像素有关系. 废话不多说了,0.5px 其实用的是css3新特性,box-shadow:阴影设置 代 ...
- oracle分析函数 之分组累加求和
select s.slice_date_to ,s.made_id ,sum(s.steup_count)over(partition by s.made_id order by s.slice_da ...
- MS CRM 2011的自定义和开发(11)——插件(plugin)开发(四)
http://www.cnblogs.com/StoneGarden/archive/2012/02/08/2343294.html MS CRM 2011的自定义和开发(11)——插件(plugin ...
- Neutron分析(7)—— neutron-l3-agent HA solutions
1. keepalived vrrp/conntrackd High availability features will be implemented as extensions or driver ...
- 熊猫TV提示“您的账号存在被盗风险,请在网站上登录解锁”
在密码下方,点击获取验证码即可.
- Redis-sentinel监控
Sentinel介绍 Redis的 Sentinel 系统用于管理多个Redis服务器, 该系统执行以下三个任务: 监控(Monitoring) 提醒(Notification) 自动故障迁移(Aut ...