保证金检测表现得很奇怪

时间:2013-09-08 23:39:47

标签: javascript jquery

我正在制作游戏,而我正在努力制作一个精灵。我需要确保它不能超出某个div。我试图创建一个函数,检查顶部或左侧距离是否小于0px,但它不能很好地工作。

的问题:

1)精灵在边界内停留得很好,这不是它应该停止的地方。

2)一旦精灵到达边缘,精灵就会减速,然后完全停止。它停止的实际位置有时会高出或低一些像素。

3)精灵到达某个地方后会被卡住,但它无法逃脱。

这是主要功能:

var cstop = false;
    function colCheck() {
        if (
            (char.css("top")<"0px") ||
            (char.css("left")<"0px") ||
            (char.css("top")>"500px") ||
            (char.css("left")>"800px")
        )
        {
            cstop = true;
        }
    };

每当按下箭头键时,都会检查cstop变量。

我玩过代码,但我似乎无法弄清楚为什么它不像我想要的那样工作。 js使用相关代码:http://jsfiddle.net/VYkbR/13/

1 个答案:

答案 0 :(得分:0)

你可能不想替换px然后比较,就像这样。

var left = (+ char.css("left").replace('px', ''));

然后做

if(left < 0) {
    // code here..
}