javascript - 更改按键的背景位置

标签 javascript jquery html css

我是 javascript 游戏的新手。

我有一个游戏的想法,例如,如果我正在使用 Solidsnake 的 Angular 色

我希望在按下导航键时更改字符 View 。 如果我按左键,它应该显示左 View ,右键显示右 View 等等。 我如何在按下按键时更改图像,我如何在 javascript 中执行此操作? 游戏理念—— **Theme i guess-**

代码简述-

var leftKey,upKey,rightKey,downKey;
    var box = $("#plane"),
        left = 37,
        up = 38,
        right = 39,
        down = 40;



function key(e) {
    console.log(e.keyCode);
    var $key = e.keyCode;

    $(document).keydown(function(e) {
        if (e.keyCode == left) 
        leftKey = true;


    if (e.keyCode == up) 
        upKey = true;

    if (e.keyCode == right) 
        rightKey = true;

    if (e.keyCode == down) 
        downKey = true;

    }).keyup(function(e) {
       if (e.keyCode == left) 
        leftKey = false;


    if (e.keyCode == up) 
        upKey = false;

    if (e.keyCode == right) 
       rightKey = false;

    if (e.keyCode == down) 
        downKey = false;

    });



}

$("body").keydown(function(){
   key(event); 
});




setInterval(function() {


    if (upKey) {
        box.css("top", "-=10");
    }
    if (rightKey) {
        box.css("left", "+=10");
    }
    if (downKey) {
        box.css("top", "+=10");
    }
    if (leftKey) {
        box.css("left", "-=10");
    }


},20);

现在我有了这个带有简单导航 Action 的代码。

Js fiddle

最佳答案

您可以使用 CSS 执行此操作以正确设置并避免多个图像请求。您需要有一个 Angular 色的所有图像都排成一行的 Sprite ,然后用 div mask 您需要显示的区域。然后使用 javascript,您可以使用 marginLeftmarginRightleftright 更改图像的位置(您需要为 leftright 设置位置 relativeabsolute

关于javascript - 更改按键的背景位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14728352/

相关文章:

html - 如何使用 CSS 更改标签?

javascript - 如何处理 Redux 中的依赖 Action 创建者?

javascript - 是否可以使用 javascript 标记的模板字符串来对数组值进行插值?

javascript - 这个 jquery/javascript 循环的更短替代方案?

javascript - 下载图像后或延迟一段时间后执行 jQuery 函数

Javascript - 值未传递给函数

javascript - 检测元素去除

javascript - ng-options 与一个对象

javascript - 无法访问脚本中 ColdFusion 标记中的 JavaScript 变量

html5和跨域上传