我是一个有用的助手,可以为您进行翻译。以下是需要翻译的内容:
我正在尝试使用jquery、javascript、html和css制作一个简单的游戏。我一直卡在碰撞检测上。
代码:
var map = [
[0,1,0,0,0,1,0,0,],
[0,1,0,0,0,1,0,0,],
[0,1,0,0,0,1,0,0,],
[0,1,1,1,0,1,0,0,],
[0,0,0,0,0,0,0,2,]
];
function DrawMap() {
for(var i=0; i < map.length; i++){
for(var j=0; j < map[i].length; j++){
if(parseInt(map[i][j]) == 0){
$("#container").append("<div class='air'></div>");
}
if(parseInt(map[i][j]) == 1){
$("#container").append("<div class='block'></div>");
}
if(parseInt(map[i][j]) == 2){
$("#container").append("<div class='spike'></div>");
}
}
}
}
window.onload=function() {
DrawMap();
}
更多代码:
var guy=document.getElementById('guy');
var up = 0;
var guyLeft = 0;
var health = 100;
function anim(e){
if(e.keyCode==83){
up +=10;
guy.style.top = up + 'px';
if(up >=400){
up -=10;
}
}
if(e.keyCode==87){
up -=10;
guy.style.top = up + 'px';
if(up <=0){
up +=10;
}
}
if(e.keyCode==68){
guyLeft +=10;
guy.style.left = guyLeft + 'px';
if(guyLeft >= 700){
guyLeft -= 10;
}d
}
if(e.keyCode==65){
guyLeft -=10;
guy.style.left = guyLeft + 'px';
if(guyLeft <= 0){
guyLeft += 10;
}
}
}
document.onkeydown=anim;im;
map[i][j]
坐标中跟踪他的位置。然后,您可以检查人物将要进入的下一个单元格,以确定是否应该发生碰撞。实际上,最好只在i、j坐标中跟踪人物的位置,然后使用函数将它们映射到显示坐标。 - PMVif (up <= 0) { up = 0; }
,然后再分配样式。 - Nina Scholzif(e.keyCode==83){up+=10; if(up>400){up-=10;} guy.style.top=up+'px';}
(点击链接)。这就是Nina Scholz在上面的评论中所说的。 - myfunkyside$(window).load(function(){...});
而不是window.onload = function(){...};
, 和$(document).keydown(function(){...});
而不是document.onkeydown=function(){...};
等。 - myfunkyside