2

我在使用简单的 Brick Breaker 游戏时遇到了一些麻烦。我为我的球对象制作了一个简单的动画,但我很难检测它何时与页面上的其他元素接触。更不用说,我似乎无法阻止我的玩家板块移动到我为它制作的容器 div 之外。我只是想让球从球员的桨、墙壁和砖块上反弹。

$(function(){
$(document).keydown(function(e){
    var Playerposition = $("#player").position();
    var Ballposition = $("#ball").position();
    switch (e.keyCode){
        case 37: //Left Movement
            $("#player").css('left', Playerposition.left - 20 + 'px');
        break;
        case 39://Right movement   
            $("#player").css('left', Playerposition.left + 20 + 'px');
        break;   
    }
});
var top = 275;
var left = 325;
var interval = 5; // time interval in milliseconds
var increment = 1;
var move = function() {
     if(left > 750) {
        increment = -increment;
     }
     if(left < 0) {
        increment = -increment
     }
    if(top > 325){
    increment = -increment; 
    }
    if(top < 0) {
    increment = -increment;
     }
    top = top + increment;
     left = left + increment;
     $('#ball').css('left', left + 'px');
    $('#ball').css('top', top + 'px');
};
setInterval(move, interval)});

我确实安装了 gameQuery 以及 Jquery。到目前为止,这是我使用当前 html/css/javascript 进行的游戏:jfiddle抱歉,它确实匹配得很好,与完整的网页看起来很好。

4

2 回答 2

0

在这里你有它:

jQuery/JavaScript 碰撞检测

检查detectOverlapping方法源。

干杯

于 2014-01-12T08:31:23.157 回答
0

如果您希望碰撞检测与 gameQuery 一起使用,您必须使用提供的.x(),.y().xy()函数而不是直接更改精灵位置.css()

这适用于游戏的所有元素,包括组和瓷砖地图。

于 2014-01-14T21:43:13.837 回答