javascript - 我在 JavaScript 和 jquery 上使用游戏角色代码时遇到问题

标签 javascript jquery

我在学校准备 Game Jam 时遇到了一个问题。在这段代码中,我试图做到这一点,以便当您按右箭头键时,它会将字符向右移动。但该功能使其从右侧而不是右侧移动。

这是我的代码---

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)    
    }
});

感谢您的帮助。

最佳答案

在 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!

关于javascript - 我在 JavaScript 和 jquery 上使用游戏角色代码时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33533332/

相关文章:

javascript - 获取突出显示的文本

javascript - 在 Webpack 4 中全局包含额外的 jQuery 插件

javascript - 比较内部循环变量与外部循环变量 - Javascript

javascript - 如何转发 Facebook 帖子

javascript - Lightbox jQuery 插件可以在 HTML 电子邮件中运行吗?

javascript - Yammer REST API CORS

javascript - 无法使用 JQuery 触发的 PHP 写入 MySQL-DB

Jquery 克隆一个 div,从隐藏的 div 中提供新的 id 并显示新的 div

javascript - 解析 JSON 时出现问题

javascript - Mongoosejs 在 for 循环中使用 Promise