2015-11-04 53 views
0

我在学校为Game Jam做准备,遇到了问题。在这段代码中,我试图做到这一点,当你按下右箭头键时,它会将字符向右移动。但是这个功能正在使它从右而不是右移。我在使用JavaScript和jQuery的游戏角色代码时遇到问题

这里是我的代码---

var main = function() { 
    var moveRight = function() {} 
    var wall = function() { 
     wall = $('.header') 
    } 
    $(document).keypress(function(event) { 
     if(event.which === 32) { 
     $('.header').animate({ 
      bottom: "-31px" 
      },1000) 
     } 
    }); 
    $(document).keydown(function(event) { 
     if(event.which === 39) { 
      $('.character').animate({ 
       right: "400px" 
      },1000)  
     } 
    }); 
} 
$(document).ready(main); 

的问题是在这里的某个地方---

$(document).keydown(function(event) { 
    if(event.which === 39) { 
     $('.character').animate({ 
      right: "400px" 
     },1000)  
    } 
}); 

谢谢您的帮助。

+0

为什么这两段代码不同?第一个看起来错了。 “right:400px”将从右侧边缘将右边缘设置为400px,而不是将其移动到右边的400px。 –

+0

你应该朝相反的方向移动你的角色。 –

回答

1

在CSS中,right属性描述了元素右侧与其容器右侧之间的距离的数量。考虑站在“左墙”和“右墙”之间的人。在CSS中,如果他们有right: 0,他们的右侧触摸右侧墙。与right: 3px,他们的右侧是从那面墙3像素。如您所见,增加right将元素左移。您在使用left属性,而不是right可能感兴趣的:

$(document).keydown(function(event) { 
    if (event.which === 39) { 
     $('.character').animate({ left: "400px" }, 1000); 
    } 
}); 

虽然它有一些应用,混合leftright性能可能不是在你的具体情况是个好主意。确保您不再使用right属性,而是将right的所有使用情况替换为left

相关问题