[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方式) */ ...
随机推荐
- c# 获取 webbrowser 完整 cookie
下面的代码实现的功能确实如标题所言,但要求是获取的是当前进程内的webbrowser,跨进程或引用的ShellWindows对象无效, 哎我本来两种情况都要用,只把前者代码先记下: internal ...
- NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁. 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll ...
- Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】
原文地址:http://blog.csdn.net/itwit/article/details/6803338 今天写程序的时候,需要更改.exe.config文件中的引用的webservice地址, ...
- unity shader random number
http://gamedev.stackexchange.com/questions/32681/random-number-hlsl
- Openjudge计算概论-DNA排序
/*===================================== DNA排序 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一系列基因序列,由A,C,G,T四种字符组 ...
- JQuery Pagenation 知识点整理——arguments,callee,caller,apply应用(20150517)(转)
arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字. n :选 ...
- Linux入侵检测工具 - RKHunter
RKHunter是Linux系统平台下的一款开源入侵检测工具 特点 (1)安装便捷,运行快速 (2)扫描范围全,能够检测各种已知的rootkit特征码.端口扫描.常用程序文件的变动情况检查 主要功能 ...
- Oracle查找表的外键引用关系
Oracle查找表的外键引用关系 select t1.table_name, t2.table_name as "TABLE_NAME(R)", t1.constraint_nam ...
- shiro权限验证标签
实例: spring-shiro.xml /admin/repairType/index = roles["ROLE_ADMIN"] /admin/user=roles[" ...
- CSS深入之label与input对齐!
我想很多人都会碰到label与input 对齐的问题. 这个东西本身不难,但是要做到与IE这个东西兼容确实有点头疼. 参考各大门户网站的前端源码. 得一方法,以记录之: html确实很简单: 帐号 输 ...