说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

暴强:用iOS设备控制的HTML5“小蜜蜂”游戏

HTML文档下载 WORD文档下载 PDF文档下载
红白机上的经典“小蜜蜂”游戏在HTML5技术下得到了革新:英国伦敦的Webdigi公司运用HTML5结合Node.js进行开发,扫描二维码使得游戏在PC浏览器中显示,玩家通过左右摇晃iPhone/iPad控制飞船,向小蜜蜂发起攻击。

近日,英国伦敦一家专注于Web App开发的公司Webdigi针对经典FC游戏“小蜜蜂”进行了一次有趣的翻新:用HTML5结合Node.js技术彻底改变该游戏的传统玩法。


玩家可以在PC浏览器上访问: http://www.webdigi.co.uk/fun/space/,然后用iPhone或iPad扫描其中的二维码(或在手机浏览器中访问: http://webdigi.co.uk/821638),响应后玩家能够左右摇晃iPhone/iPad控制飞船打小蜜蜂了,当然,你也可以在PC浏览器中玩该游戏,方向键(左、右)控制飞船的移动,空格键发射子弹。这也是智能手机与PC双屏互动的一种新玩儿法。


用户iOS设备控制端核心代码如下:

//Detect if the browser supports DeviceMotionEventif (window.DeviceMotionEvent != undefined) {//ondevicemotion is fired when iOS device detects motion  window.ondevicemotion = function(e) {//ax is the movement on the x axis.//This motion is used to move the ship in the game  ax = event.accelerationIncludingGravity.x * 5;  ay = event.accelerationIncludingGravity.y * 5; //Status 0 is start, 1 is left, 2 is right, 3 is stayif(status == 0){ //initial condition  status = 3; //stay  socket.emit('spaceChange', {'ax': 3});  statusmsg = 'Waiting for movement';}if(ax > 14 && status != 2){ //move right on device  status = 2;  socket.emit('spaceChange', {'ax': 2});  statusmsg = 'Moving ship right';}if(ax < -14 && status != 1){ //move left on device     status = 1;     socket.emit('spaceChange', {'ax': 1});                    statusmsg = 'Moving ship left'; } if(ax > -14 && ax < 14 && status != 3){ //device held steady  status = 3;  socket.emit('spaceChange', {'ax': 3});  statusmsg = 'Ship held steady';}

对于Web开发者而言,使用Node.js的好处在于,能在客户端和服务器端使用同一种语言(Javascript)创建一款完整的Web App,从而减少切换环境带来的麻烦。Socket.IO是一个针对实时Web App的Javascript库。通过Socket.IO库,Node.js便能够轻松实现WebSocket(WebSocket protocol是HTML5一种新的协议,它实现了浏览器与服务器的全双工通信)。

服务器端Socket.IO代码如下:

//Start on connectionio.sockets.on('connection', function (socket) {  //Set room for user when connection is made socket.on('setChannel', function (data) { socket.join(data.channelName); });  //When iOS device moves send data to browser //Multiple browsers can be listening to same device socket.on('spaceChange', function (data) { socket.broadcast.to(data.channelName)                   .emit("spaceChanges",data); }); });

用户PC浏览器端数据处理的代码如下:

//iOS detection and corresponding actionvar lastkey = 37;var dataStart=0;  socket.on('connect', function() {   //if sockets gets disconnected then mention room again   socket.emit('setChannel',               {'channelName': '<?php echo $randRoom; ?>'});  });   socket.on('spaceChanges', function (data) {     if(dataStart == 0){        //First movement data arrived        document.getElementById('status').innerHTML                   = 'Receiving data from your iOS device';        dataStart = 1;     }    ax = data.ax;    var posob=new Object();    if(ax == 2){        //move right        lastkey = 39;        posob.keyCode = lastkey;        posob.type = 'keydown';        document.getElementById('status').innerHTML                    = 'iOS device tilted right';    }    if(ax == 1){        //move left        lastkey = 37;        posob.keyCode = lastkey;        posob.type = 'keydown';        document.getElementById('status').innerHTML                    = 'iOS device tilted left';    }    if(ax == 3){        //hold ship in place        posob.keyCode = lastkey;    posob.type = 'keyup';        document.getElementById('status').innerHTML                    = 'iOS device held steady';    }    //Send action received above    keypressaction(posob);  });    //Fire automatically once first data startswindow.setInterval(function(){  if(dataStart == 1){    var posob=new Object();    posob.keyCode = 32;    posob.type = 'keydown';    keypressaction(posob);    posob.keyCode = 32;    posob.type = 'keyup';    keypressaction(posob);  }//Timer is correctly a shot ever 200ms.//Decrease 200 to lower for even faster firing!}, 200); 

文章来源:Webdigi Blog

(编译/杨依帆 责编/张宁)

VB4.0安装程序的汉化 VB中对字符串的处理及其扩展 把符串中的一子串替换为另一子串 -VB资料 把数字转成英文字-VB资料 翻转一个字符串-VB资料 混合字符串的长度 -VB资料 将阿拉伯数字转成中文字的程式 -VB资料 将包含有Null结尾的字符串转换为VB字符串 切分字符串-VB资料 清除字符串中指定的字符 -VB资料 VB如何取得计算机的所有字型? VB如何取得中英混合字符串的长度? 使VB的网格控件具有输入功能 VB如何使用未安装的字体? VB如何由两个ASC码(区位码)复原成一个汉字? VB如何转换C代码中的高字和低字 一些字符串操作的问题和回答 -VB资料 VB怎样把VC++代码转换成VB代码 字符串中包含双引号-VB资料 字符串中文的问题 -VB资料 巧用CLIPBOARD建立图像数据库-VB资料 在VB中存取数据库中的图片 Access97的报表解决方案-VB资料 Access下如何使用通用对话框-VB资料 ADO简介 -VB资料 ADO三大对象的属性、方法、事件及常数(二)-VB资料 ADO三大对象的属性、方法、事件及常数(三)-VB资料 ADO三大对象的属性、方法、事件及常数(一)-VB资料 Data 控件使用有密码的 Access 数据库 -VB资料 Excel、Access、VB的结合应用 Microsoft SQL Server 7.0安装问题(二)-VB资料 网友六一见面,找个网友男朋友看海,找个网友男朋友看星星! 请教!! 求教SQL语句 神洲数码怎样? 请大家帮帮忙:如何将一个字符转换为unicode码形式(得到的是数字,而不是字符串)! msn怎么通不过http代理 求助:J2EE Container中deployed的servlet是否可以调用EJB local home? 有关时间限制 ie问题有没有碰到过 TADOTable+TDBGridEH+TDataSource中编辑一有关键字的表时,怎样做到避免在输入相同的关键字时的出错? IE经常自动关闭是什么原因 菜鸟请教 UlraEdit? 四舍五入的函数是什么?? 帮帮忙!!!我编译出这问题?? 请问:发现病毒:生成folder.htt,还有后缀都是htt的其他文件,用kv3000杀,提示kbs\kj,请问是什么病毒,怎么杀毒(急)? ie问题有没有碰到过 打开adsl的猫机器能自己启动为什么? 神洲数码怎样? linux中如何得到某个网络设备的ip地址? 请教ADO的Recordset对象的Delete的问题 请问jbuilder的参考书,哪本比较好?市面好像种类比较少 请问怎样获得临时表的记录? @@@@@@@@@@如何使我的折线图随着时间移动@@@@@@@@@@ 菜鸟问:各位大哥看c++ primer的时候是用什么编译器? 神洲数码怎样? jsp如何将web页面的String型转换为long型? 极容易的问题 ,先来先得! 大虾,救命啊!!!!!! jsp如何将web页面的String型转换为long型? ★★★帮忙翻译一句话!谢谢★★★ **冗余醒目**《如何在输入的时候减小冗余》**冗余醒目** 倡议书:维护您的网络权益 [100分,两日内结]怎样在jsp中得到我的数据 两个菜鸟问题,送分拉 线程与消息??? c、odbc、嵌入式sql的关系? 简单的重载问题! 用<input type="fiel" name="test">时,怎样判断输进去的文件是硬盘上实际存在的? 请问哪里有eclipse 下载? FINDING SOMEBODY! 显示器不亮,请帮忙,解决给100分 写在3.15黎明的前夕 **冗余醒目**《如何在输入的时候减小冗余》**冗余醒目** 各位,CSDN的论坛都是用些什么工具开发的?? 请问个位大虾,我的程序为什么不能执行(TC++3.0) 在VC中怎么调用IE来显示一个页面? 怎样在新开的页面给已开的页面上的一个TextBox插入新的字符串 [转贴]网络版权问题 **冗余醒目**《如何在输入的时候减小冗余》**冗余醒目** 用purify测试过的release版本怎么在别人的计算机上运行有问题? 我叫mt置换在哪里 不敢回忆的那一次!限八点钟之前!雪,纷纷的雪,洗浴整个世界的雪,最终不能洗净人的心灵.  我低头专心应付着地上的冰,不敢旁顾斜视,生怕一个不小心,来个四脚朝天.  突然,在前方,在我 我国义务教育的教学计划应具有的三个基本特征是(  )A.强制性、基础性、科学性  B.强制性、普遍性、科学性C.科学性、普遍性、基础性  D.强制性、普遍性、基础性选什么? 真空能传声吗 不敢回忆那一次 阅读题答案中:当女残疾人扶我时,我为什么会觉得有十几只狼在咬我?下意识地我告诫自己千万千万不要摔倒,身体本能地站得更稳——一般人都会从别人的摔倒中得到教训. 写一篇关于冬天的记叙文 我叫MT3.2版本中的置换是什么意思? 潮吹_如何潮吹_什么是潮吹_怎样潮吹_女性潮吹 成功的营销计划一般具有哪些特征 真空中能不能传声? 什么是潮吹?真的有潮吹吗? 形容“爱”的段落或句子.优美些的,淡雅些的,平淡些的,独特些的,具有代表性的...分类为:1.幸福2.悲哀3.沉思4.安慰5.努力,奋斗6.夸张7.愤怒8.怨恨9.埋怨10.觉得(因为没有尝试过.)如果还有别 我叫MT置换问题为什么置换功能介绍中说明了可以置换紫卡而我的只能置换白卡与绿卡?大神求解 电子跳蚤落在数轴上的某点,第一步从K0向左跳1个单位到K1,第二步从K1向右跳2个单位到K2,第3从K2向左跳3个单位到K3,第四步由K3向右跳四个单位到K4..,按以上规律跳了100步时,电子跳蚤落在数轴的 求关于形容幸福的句或段落 任何一条纬线都能地球分为两个半球吗?急用.明天中考, 女人潮,吹是怎么回事?为什么会潮,吹… 形容小区环境不错的句子段落(最好有关于环保的) 电离层是由什么组成的? 潮吹是什么? 形容打架的句子或段落 热力站的循环泵和板式换热器怎么计算选取求详细计算公式 在下列4个图中,只能是由常染色体上隐性基因决定的遗传病是 一个密封的杯子,不断向外抽气,里面空气的密度变化吗? 换热站的板式换热器的换热面积怎么求?还有二次循环泵~供暖16万平米小区 北京地区 一次供回120-70° 二次供回85-60° 求算下二次循环泵要多大的流量 公式什么的详细点,抄袭的别来.我知道板 已知,在三角形abc中,ab=ac,d是三角形abc中的一点,且角adb=角adc,求证bd=dcrt 季羡林的文章 一条老狗 读后感 市场调查与预测1、市场预测常用的方法有哪些? 2、市场调查按研究性质分类可以分成几类? 3、怎样分析产品的渗透深度? 4、如何做产品的试销分析? 己知在三角形ABC中,AB=AC,D是三角形ABC中的一点,且角ADB=角ADC,求证:BD=DC图暂时没有 生活中哪些是导电海绵(泡沫)?要常见的,到点效果好的, 为什么压力表使用范围最高不得超过度盘满刻度的 3/4? 说一说,在你的生活中,科学带给你的影响和改变. 谁能告诉我包装泡沫导电吗?我不小心把一粒白色的包装用的泡沫掉进液晶显示器中去了,请问这样会造成短路吗?如果不会短路,那么对显示器的使用有什么影响. 这是什么鱼,怎样做好吃 是谁改变了你的生活.如果有人改变了你的生活,为你带来了一片新天地,你会感激他一辈子吗? 什么叫导电海绵 冰鱼,冰鱼出品,冰鱼工作室是怎么回事? 我叫MT 安装失败 如题 我下 靠谱安装的 提示 安装失败 塑料泡沫是否导电 教育办公场所室内绿化植物有哪些?之前看了一些感觉不是很好.最好附上每种植物的含义、作用! 除了金属甚么东西会导电?物质具有甚么性质能导电 高中物理竞赛需要培养哪些思维能力?尽量完整些,谢谢. 山谷中的谜底 找反义词当雪积到一定程度时,雪松那富有弹性的枝丫就开始向下弯曲,于是积雪便从树枝上滑落,待压力减轻,刚弯下去的树枝又立即反弹过来,雪松依旧保持着苍翠挺拔的身姿.就 日常生活中哪些东西可以导电?制作科学小发明怎样安全使用电线或线路或导体? 高中的物理竞赛要怎么学才能考出好成绩? 冬天的气温高好还是低好?近几年的冬天的气温已经逐渐的升高,已经开始了暖冬的现象.可是对于生活在寒冷地区的人们来说,冬天的气温升高是件好事,因为人们并不希望生活的环境总是在零 找反义词 日常生活用品哪里有导电橡胶 需氧呼吸中氧气的作用RT 山中访友原文中找近反义词 必须文中的比如课文里有两个词在文中是近义词就是 《冬天的温暖》600字,是记叙文哦!老班布置任务了,写篇《冬天的温暖》600字记叙文哦,明天就要上交咯!呜呜,不要什么下雪天的,可以是发生在自己身上的事哦! 我叫mt怎么置换卡牌 用了麦迪格除蛋白的保存液,还用每周再除蛋白吗? 计划具有——————————三个特点. 声音在真空中能不能传声? 蛋白质的保存方法都有哪些? 全球冬天的环境的记叙文 青蛙为什么不能飞0 0NO 下列四个遗传系图谱中,只能由常染色体上隐性基因决定的遗传病的是? 项目计划特征有哪三个部分组成 IPCC中国宣讲会:21世纪末全球气安倍视察台风受灾地伊豆大岛 称将加强日本首相出访土耳其 欲游说其勿购中国日本首相出访土耳其 欲游说其勿购中国日本拟上调育儿休假补贴发放比例 增加澳洲85岁志愿者因慈善工作获得“默多美国一男子为取啤酒冒险重返失火房屋险澳媒称中国买家推动悉尼当地房价升高2美国一醉酒男子被捕后拿总统奥巴马为自统计显示韩国火葬率为74% 比20年李某某等5人强奸上诉案将于10月31学习时报刊文:大城市尾号限行后公车数印度反对派竞选集会遭袭 死亡人数上升今秋首次暴风强势登陆法国 数万户家庭日本赛马失控与轿车相撞当场丧生 司机美媒:部分美联储官员主张制定债券“退埃及再发军警遇袭事件 三名警察执勤时前三季度宁波灰霾天数达81天 复合污津巴布韦一架波音737客机引擎着火后外交部:联合国人权理事会通过中国接受日本新一代消防车设计图出炉 神似机动普京:俄能生产军工产品所有部件 免遭英国科学家呼吁用碰拳取代握手 减少病下期预告堵鼠洞 绑丝带 筹基金 苏大师生远赴北极科考队圆满完成白令海考察作业进入蓝绍敏同志任泰州市委书记车托宝 让人心惊肉跳借力科技滨州依托“天网”破窃案中国征服环法第一人 计成23天骑完3燃气灶具的熄火保护装置很重要常州20“驴友”遇暴雨被困浙江山谷全军文职人员首次内部竞聘完成:900跟雪花一起挑战未知极限吧搜狐发布二季度财报营收4亿美元创新高妻子找小三签“三方协议”:百万车房给美海军在太平洋最大光伏发电项目将建于计成创中国车手历史 专家称出下个\"广西谋划推进司法行政改革发展拿起画笔,画出心中最美南京柯震东隔空祝福旧爱萧亚轩:希望她能幸北京西城区关闭11个大型市场 将新建
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘