因此,這裏是我的蛇腳本 -蛇腳本不將值傳遞給變量
我開始創建一個蛇遊戲,但基本上移動(上圖),移動(底部)E.C.不管用。任何想法爲什麼?我明白我不能將這些元素傳遞給像這樣的變量,所以也許你可以告訴我如何正確地做到這一點?
因此,這裏是我的蛇腳本 -蛇腳本不將值傳遞給變量
我開始創建一個蛇遊戲,但基本上移動(上圖),移動(底部)E.C.不管用。任何想法爲什麼?我明白我不能將這些元素傳遞給像這樣的變量,所以也許你可以告訴我如何正確地做到這一點?
好清理的語法和拍了一下錯誤這應該讓你開始
$(document).keydown(function(event){
var move, inter;
inter = setInterval(move = function() {
var dir = $(".snake").data('dir');
var snake = $('.snake');
if(dir == 'top') {
snake.stop().animate({"top": "+=5px"});
}
if(dir == 'bottom') {
snake.stop().animate({"top": "-=5px"});
}
if(dir == 'left') {
snake.stop().animate({"left": "+=5px"});
}
if(dir == 'right') {
snake.stop().animate({"top": "-=5px"});
}
}, 500);
if(event.which == 40) {
$(".snake").data('dir','top');
} else if(event.which == 39) {
$(".snake").data('dir','left');
} else if(event.which == 37) {
$(".snake").data('dir','right');
} else if(event.which == 38) {
$(".snake").data('dir','bottom');
}; });
夫婦明顯增加,使:
乾杯!工作;)! – y2ok
要使其工作,你將不得不moodify代碼就像如下:
$(document).keydown(function() {
var inter;
return function(event) {
var move, prevDirection;
clearInterval(inter);
inter = setInterval(move = function(direction) {
var value, prop;
switch (direction || prevDirection) {
case "top":
prop = "top";
value = -5;
break;
case "bottom":
prop = "top";
value = 5;
break;
case "left":
prop = "left";
value = -5;
break;
case "right":
prop = "left";
value = 5;
break;
}
if (direction) prevDirection = direction;
$(".snake").css(prop, $(".snake").position()[prop] + value);
}, 500);
if (event.which == 40) {
move('bottom');
} else if (event.which == 39) {
move('right');
} else if (event.which == 37) {
move('left');
} else if (event.which == 38) {
move('top')
};
}
}());
首先,沒有CSS屬性叫'value'。對於另一個jQuery的'position()'方法不會返回一個數字,而是一個對象。該對象的「left」和「right」屬性是表示所討論的HTML元素的x和y座標的數字。 – slebetman
嗯,我明白了,但我需要通過move(top),move(bottom)e.c. – y2ok