主题:  急需解决的问题:键盘事件

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#12004/2/24 17:09:17
我想为一个MC中的按钮写一个键盘事件处理程序,比如声音控制吧:当按下s或S键后,关闭/开启背景音乐。如何将其写在时间轴上啊!
我知道大概应该是这样的:
_root.myMC.myBtn.onKeyDown*=function(){...};
可是*部分如何写?也就是如何将
on(KeyPress "S"){...}
写成上面的格式啊。



5D限制级

职务:普通成员
等级:6
金币:10.0
发贴:4970
#22004/2/25 8:44:43
A-Z 41-5A a-z 61-7A (十六进制) 换成10进制 65-90 97-122
Key.getAscii()
Returns the ASCII value of the last key pressed.

Key.getCode()
Returns the virtual key code of the last key pressed.





浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#32004/2/25 10:20:16
我想把代码都写在时间轴上,是这样吗?
myClip.focusEnabled = true;
Selection.setFocus("myClip");
function whichKey(){
    trace(Key.getCode());
    }
myClip.onKeyDown = whichKey;
问题是:剪辑必须在得到焦点时才能接收事件呀!如果有几个MC都要同时响应键盘事件,该怎么办?



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#42004/2/25 10:30:40
当我把脚本绑定在MC上时,多个MC都可以同时响应键盘事件。如下:
主时间轴上:
stop();
function KeyMC1(){
    trace(Key.getCode());
    }
function KeyMC2(){
    trace("hello");
    }
mc1上:
onClipEvent(KeyDown){
    _root.KeyMC1();
    }
mc2上:
onClipEvent(KeyDown){
    _root.KeyMC2();
    }
当我按键盘时,同时输出该键的码值和hello字符串。难道都将代码写在时间轴上这么蹩脚吗?

另外,在MX2004中怎样打开标准模式(似乎只剩下专家模式了)。



5D限制级

职务:普通成员
等级:6
金币:10.0
发贴:4970
#52004/2/25 11:51:15
可以写在MC里 用ONCLIP(ENTERFRAME) { }

是啊 标准模式我也没发现 不过有纠错功能和AUTO FORMAT功能 差不多用啦



UndeadCraft

职务:版主
等级:4
金币:10.0
发贴:1993
#62004/2/26 10:36:34
2004 PRO没有标准模式了。AUTOFORMAT以前也有。

你的MC如果有命名的话,可以写成:

mcName.onEnterFrame=function{
你的代码...
}



飘渺锋

职务:普通成员
等级:1
金币:0.0
发贴:15
#72004/2/26 14:17:02
真的不错呀