您的位置:首页 > Web前端 > JavaScript

javascript中实现伪异步

2013-09-24 10:15 169 查看
我说的伪异步是下面的意思:

比如我写了个乒乓球对战游戏,那么有两个选手,他们都可能同时按键,要想他们之间的按键不相互影响。

下面是我从书上看到的一种思路。

设置一个数组,用于标记按键的状态,当某个按键按下时,设置该按键的状态为true,当放开该按键时,设置为false;

设置一个定时器,定时检查某些特定监听键的状态,如果是true,则执行相应操作。

大概代码如下:

var ping={}//闭包管理资源
ping.keys=[];//记录键的状态
$(function(){//用到了jquery,页面加载完就调用下面的代码
ping.timer=setInterval(fun,30);//设置定时器,fun为每隔30秒调用的方法

$(document).keydown(function(e){
ping.keys[e.which]=true;//设置状态
});//某个按键按下
$(document).keyup(function(e){
ping.keys[e.which]=false;//设置状态
});
});

//下面是定时器调用的方法
function fun(){
.
.
.
检查某些按键的状态,并执行相应操作
.
.
}


这样,两个选手就可以同时按键了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript jquery