javascript中实现伪异步
2013-09-24 10:15
169 查看
我说的伪异步是下面的意思:
比如我写了个乒乓球对战游戏,那么有两个选手,他们都可能同时按键,要想他们之间的按键不相互影响。
下面是我从书上看到的一种思路。
设置一个数组,用于标记按键的状态,当某个按键按下时,设置该按键的状态为true,当放开该按键时,设置为false;
设置一个定时器,定时检查某些特定监听键的状态,如果是true,则执行相应操作。
大概代码如下:
这样,两个选手就可以同时按键了。
比如我写了个乒乓球对战游戏,那么有两个选手,他们都可能同时按键,要想他们之间的按键不相互影响。
下面是我从书上看到的一种思路。
设置一个数组,用于标记按键的状态,当某个按键按下时,设置该按键的状态为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异步调用XML进行解析的简单实现
- 谈谈JavaScript的异步实现
- javascript真的是异步的吗?且看setTimeout的实现原理以及setTimeout(0)的使用场景
- JavaScript及其异步实现
- JavaScript 异步方法队列链实现代码分析
- javascript 使用FormData实现图片/文件异步上传
- JavaScript 用fetch 实现异步下载文件
- 异步javascript的原理和实现技巧介绍
- 实例讲解javascript实现异步图片上传方法
- JavaScript中使用Async实现异步控制
- 【javascript】Promise/A+ 规范简单实现 异步流程控制思想
- JavaScript 用fetch 实现异步下载文件
- JavaScript实现异步的4种方法
- 一种模仿线程的Javascript异步模型设计&实现
- Javascript Ajax异步读取RSS文档具体实现
- 纯JavaScript实现异步Ajax的基本原理
- 原生javascript实现文件异步上传的实例讲解
- JavaScript文件的同步和异步加载的实现代码
- javascript真的是异步的吗?且看setTimeout的实现原理以及setTimeout(0)的使用场景
- JavaScript的异步实现