用html5 Canvas制作一个简单的游戏 英雄抓小怪物(中)
2015-12-24 13:20
911 查看
4.处理玩家输入
用户到底按下了哪个键,通过键盘事件来处理,将按下的键的keyCode保存在空对象KeysDown中。如果该变量中具有某个键编码,就表示用户目前正按下这个键。
5.新游戏
通过调用reset函数来开始新游戏。该函数将英雄(即玩家角色)放到屏幕中间,然后随机选择一个位置来安置怪物。
6.更新对象
// 键盘 输入处理 var keysDown = {}; addEventListener("keydown", function (e) { keysDown[e.keyCode] = true; }, false); addEventListener("keyup", function (e) { delete keysDown[e.keyCode]; }, false);
用户到底按下了哪个键,通过键盘事件来处理,将按下的键的keyCode保存在空对象KeysDown中。如果该变量中具有某个键编码,就表示用户目前正按下这个键。
5.新游戏
// 当英雄捉住怪物之后重新开始游戏,英雄的位置在画布中间,怪物位置随机 var reset = function () { hero.x = canvas.width / 2; hero.y = canvas.height / 2; // 将怪物位置随机放在地图上,当然不能超过地图。 monster.x = 32 + (Math.random() * (canvas.width - 64)); monster.y = 32 + (Math.random() * (canvas.height - 64)); };
通过调用reset函数来开始新游戏。该函数将英雄(即玩家角色)放到屏幕中间,然后随机选择一个位置来安置怪物。
6.更新对象
// 更新游戏对象 var update = function (modifier) { if (38 in keysDown) { // 上 hero.y -= hero.speed * modifier; } if (40 in keysDown) { // 下 hero.y += hero.speed * modifier; } if (37 in keysDown) { // 左 hero.x -= hero.speed * modifier; } if (39 in keysDown) { // 右 hero.x += hero.speed * modifier; } // 是否捉住怪物 if ( hero.x <= (monster.x + 32) && monster.x <= (hero.x + 32) && hero.y <= (monster.y + 32) && monster.y <= (hero.y + 32) ) { ++monstersCaught; reset(); } };
相关文章推荐
- 前端规范(html5,js)
- HTML5商业项目训练营
- HTML5初识
- HTML5之离线应用缓存
- HTML5-12月23日笔记
- HTML5音频audio播放与暂停
- 如何去设计一个自适应的网页设计或HTMl5
- html5中拨打电话代码
- 微场景H5(物理设备和渲染像素)
- XHTML5 与 HTML 4.01的差异
- HTML5本地存储 -sessionStorage localStorage 总结
- h5案例分享:绿源电动车-与美国队长之间的约定
- html5学习_MySecondPage_文本排版
- html5代码,获取地理位置
- html5中localStorage存储
- html5学习_MyFirstWebPage_语法的概念与框架
- HTML5入门十一---Canvas画布实现画图(二)
- HTML5入门十---Canvas画布实现画图(一)
- 今天一天解决了一个 ph56w-opcache问题 (yum 命令方式)
- HTML5产品360度旋转展示特效