当前正在制作HTML5 Canvas Spaceship游戏。但我有一个巨大的问题: 我为我的飞船创建了一个类,我想用箭头键移动它。但由于某种原因,它不会移动。在画布上移动对象
Chrome Inspector不会显示任何错误,但飞船仍然不会移动。
我不完全确定,但是在类中的对象中可能存在问题吗?
你可以找到我的Git项目数据:https://github.com/nemoxdelight/First_Game/
此外,对不起我的英语不好,我只是一个德国谁需要帮助;)
而且这里是我认为部分这个问题可能是:(在main.js)
function o_move_paddle(p_event) {
if(p_event.keyCode == KEY_RIGHT) {
held1.rechtsTaste = true;
p_event.preventDefault();
}
if(p_event.keyCode == KEY_LEFT) {
held1.linksTaste = true;
p_event.preventDefault();
}
if(p_event.keyCode == KEY_UP) {
held1.hochTaste = true;
p_event.preventDefault();
}
if(p_event.keyCode == KEY_DOWN) {
held1.runterTaste = true;
p_event.preventDefault();
}
}
而且在我的Heroclass创建held.js,它应该移动对象:
Held.prototype.tasteCheck = function() {
if(this.hochTaste) {
this.held_y -= this.speed;
}
if(this.rechtsTaste) {
this.held_x += this.speed;
}
if(this.linksTaste) {
this.held_x -= this.speed;
}
if(this.runterTaste) {
this.held_y += this.speed;
}
};
谢谢@Pirokiko真的帮了我很多。但是我改变代码后问题仍然存在。我可以用'held1.held_x + = 20;'通过控制台移动我的飞船;'有什么我失踪?我也更新了我的Git。 – user1478242 2012-07-15 14:01:22
你的控制台还应该说一些关于无法找到Held类的内容 在constant.js里面,你现在使用'Held()'它还不知道,所以在你的index.html中包含constant.js之前的held.js 同样在'move_held'的main.js中,你移动了保持而不是将rechtsTaste设置为'true' – Pirokiko 2012-07-15 14:20:53
非常感谢,它终于为我效劳了!我现在有一个值来检查循环是否已经运行,如果是,它不会再绘制它。难道我更喜欢解决方案:) – user1478242 2012-07-15 14:27:05