Flashlizi's blog-专注Flash相关开发
posts - 22, comments - 17, trackbacks - 0, articles - 0
IT博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
AS2:让flash捕获用户的快捷键动作
Posted on 2007-09-10 15:41
flashlizi
阅读(756)
评论(0)
编辑
收藏
引用
一般情况下,大家都知道要让flash捕获用户的按键动作可以使用Key类中的onKeyDown、onKeyUp事件以及Key.isDown()、Key.getCode()和Key.getAscii()等方法来实现。这里说一下如何捕获一些组合键(如ctrl+s)?下面是一段捕获ctrl+s快捷键的AS2代码:
var keyListener:Object
=
new
Object();
keyListener.onKeyDown
=
function()
{
trace(Key.getCode());
if
(Key.isDown(Key.CONTROL)
&&
Key.getCode()
==
83
)
{
txt.text
=
"
ctrl+s
"
;
}
}
;
Key.addListener(keyListener);
在上面代码中,当用户按下ctrl+s快捷键的时候,文本字段txt中的文本就会变成ctrl+s,表示我们已经正常捕获ctrl+s快捷键了。注意:在flash中测试影片(ctrl+enter)的时候一定要在控制中把禁用快捷键勾上,否则测试无效。
但是有些快捷键,如ctrl+C、ctrl+F等,用上面的方法仍然无法捕获。这是因为这些快捷键已经被flash player首先给捕获做其他用途了,当然就无法传到里面的处理函数了。因此我们要告诉flash player释放这些快捷键给AS使用,幸好fscommand函数的trapallkeys命令可以实现这个目的,具体代码为:
fscommand("trapallkeys", true);
这样要实现ctrl+C快捷键,就只要在上面捕获ctrl+s快捷键的AS2代码中加上这条语句就可以了。不过注意这条语句在flash中测试影片(ctrl+enter)的时候是无效的,因为这些快捷键被flash IDE捕获,要单独运行swf文件才有效。具体代码为:
fscommand(
"
trapallkeys
"
,
true
);
var keyListener:Object
=
new
Object();
keyListener.onKeyDown
=
function()
{
trace(Key.getCode());
if
(Key.isDown(Key.CONTROL)
&&
Key.getCode()
==
67
)
{
txt.text
=
"
ctrl+c
"
;
}
}
;
Key.addListener(keyListener);
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © flashlizi
日历
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
公告
因ZF禁止私自开设互动性质网站的原因,本人原来的blog网站:www.flashrek.com无限期暂停。而且虚拟空间访问速度慢,故在此开博,以后所有文章均在此发布。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(20)
AIR(1)
AJAX(5)
AS2(6)
AS3(7)
AS3设计模式(1)
Flex
随笔档案
(22)
2007年12月 (1)
2007年11月 (4)
2007年10月 (1)
2007年9月 (16)
搜索
最新评论
1. re: Input的特殊事件onpopertychange和oninput
事实上是事实是事实飒飒
--发发发发发发发发发发发发发发发发发发发发
2. re: Input的特殊事件onpopertychange和oninput
fefefe
--fefe
3. re: 在firefox中获取网页里的SWF对象
评论内容较长,点击标题查看
--17作业
4. re: AS3设计模式之一:单例模式(Singleton Pattern)
总结的很好,分享到我的博客喽!
--老姜
5. re: 游戏开发者的AS3数据结构
HAO
--GGGG
阅读排行榜
1. Input的特殊事件onpopertychange和oninput(7238)
2. AS3设计模式之一:单例模式(Singleton Pattern)(3646)
3. FlashTail:简单实用的Actionscript调试工具(3134)
4. 游戏开发者的AS3数据结构(3132)
5. 在firefox中获取网页里的SWF对象(3027)
评论排行榜
1. 谈谈Actionscript中的惰性函数定义模式(Lazy Function Definition)(6)
2. FlashTail:简单实用的Actionscript调试工具(4)
3. AS3设计模式之一:单例模式(Singleton Pattern)(2)
4. Input的特殊事件onpopertychange和oninput(2)
5. AS2:实现动态文本的描边及阴影效果(1)