打印

[编程] 太没天理了~一个键盘监听事件,要按2次才生效??!

做了个按键就跳到下一帧的flash,在主场景里写的代码如下:

i = 0;
key = {};
word = "z";
key.onKeyDown = function(){
       if(chr(Key.getAscii()) == word.substr(i,1)) i++;
       else i = 0;
       if(i == 1) nextFrame();
}
Key.addListener(key);
stop();

第一帧正常按一次“Z”就可以跳转了,之后的每帧都必须按2次“Z”才行,请问这是啥原因?先谢谢花时间看帖的高手!
当第一次按下Z if条件成立,i++变成1 nextFrame执行
再按下z  因为此时i为1 第一个if不成立执行esle i变成0,nextFrame不执行
这是你自己的代码中写的,以后按两次才执行才是符合逻辑的,是完全有天理的。

[ 本帖最后由 flash023 于 2008-6-10 07:33 编辑 ]
http://www.flash023.cn 终极讨厌