为简单的HTML5游戏添加按钮
Adding buttons to a simple HTML5 game
我想不出一个好方法来为一个简单的HTML5游戏添加按钮,我正试图将其用于其他用途。
我不想用箭头键控制播放器,而是想有一个真正的"上、下、左、右"按钮,必须点击(或者更准确地说,在移动设备上触摸)。
这是我正在尝试调整的输入代码。
input.js:
(function() {
var pressedKeys = {};
function setKey(event, status) {
var code = event.keyCode;
var key;
switch(code) {
case 32:
key = 'SPACE'; break;
case 37:
key = 'LEFT'; break;
case 38:
key = 'UP'; break;
case 39:
key = 'RIGHT'; break;
case 40:
key = 'DOWN'; break;
default:
// Convert ASCII codes to letters
key = String.fromCharCode(code);
}
pressedKeys[key] = status;
}
document.addEventListener('submit', function(e){
console.log(e);
return false;
})
document.addEventListener('keydown', function(e) {
setKey(e, true);
});
document.addEventListener('keyup', function(e) {
setKey(e, false);
});
window.addEventListener('blur', function() {
pressedKeys = {};
});
window.input = {
isDown: function(key) {
return pressedKeys[key.toUpperCase()];
}
};
})();
这是app.js中引用"isDown"函数的代码:
function handleInput(dt) {
if(input.isDown('DOWN') || input.isDown('s')) {
player.pos[1] += playerSpeed * dt;
}
if(input.isDown('UP') || input.isDown('w')) {
player.pos[1] -= playerSpeed * dt;
}
if(input.isDown('LEFT') || input.isDown('a')) {
player.pos[0] -= playerSpeed * dt;
}
if(input.isDown('RIGHT') || input.isDown('d')) {
player.pos[0] += playerSpeed * dt;
}
}
我对制作HTML5游戏完全陌生,所以任何关于如何处理触摸/点击事件的建议都会很棒。此外,对于按钮本身,使用div、表单还是其他更好?
感谢
~~~~~~
编辑/更新:
所以我把这个插入到我的app.js:中
$("#upButton").click(function(){
console.log("click");
player.pos[1] -= playerSpeed * dt;
})
它实际上注册了点击事件,但它生成了一个非常奇怪和随机的"点击"数量(从几次到数千次)。我正在修改的特定代码可以在本次回购中找到:https://github.com/jlongster/canvas-game-bootstrap
这个家伙的游戏很不错,但对于像我这样的HTML5游戏来说,它有很多"高级"的东西。
如果是始终可见的按钮-在html中创建按钮并添加点击事件。
如果您需要画布上的动态按钮-您可以绘制按钮,然后在鼠标点击时检查鼠标点击按钮区域和按钮是否可见/活动,然后执行您的操作。
相关文章:
- 在HTML5画布上添加按钮和控件
- 无法在图像周围添加按钮
- Sitecore富文本编辑器-添加按钮
- 如何在标记href中添加按钮
- jqgridnavgrid在搜索按钮和自定义按钮之后添加按钮
- 如何在视频标签中添加按钮覆盖
- 添加按钮以切换浏览器
- 如何在php中添加按钮而不是错误状态和成功消息
- Struts2jquery可编辑网格,要禁用内联添加按钮
- 如何在服务器端的文本中添加按钮单击事件
- 简单的dart网页应用程序在IE上添加按钮的速度非常慢
- 向HTML页面添加按钮,更新表格信息
- (PHP&JavaScript)a href添加按钮赢得'我不适用于Mozilla,但适用于IE和谷歌
- 单击添加按钮后如何显示答案按钮
- 如何在 extjs 5 中的工具提示中添加按钮
- 在数据表的新行中添加按钮,变得未定义
- 如何向照片滑动添加按钮
- 动态添加按钮后刷新 jQm 标头
- PHP,MySql和JQuery - 按添加按钮后填充选择框
- 动态添加按钮,这些按钮也会动态添加文本框 AngularJS