使用Crafty.js游戏引擎进行水平碰撞检测

时间:2012-05-01 20:38:33

标签: javascript collision-detection craftyjs

我正在尝试用连续的方式构建突破式游戏 垂直玩家移动和仅水平输入。我需要检测 如果在侧面或顶部/底部击中砖块。没有检测到, 我无法阻止玩家的移动重叠 砖块没有被破坏。我试图检测到哪个边缘 玩家实体使用此方法命中的多边形(在检测到碰撞时调用第一个函数,在justHit设置为false时调用第二个函数):

.onHit("brick", function() { 
    if (data[0]['normal']['y']==0) { 
        reverseDirection(); 
    } 
    else { 
        this._hspeed = 0; 
    } 
}, function() { 
    this._hspeed = 3; 
}) 

但我遇到了两个问题:'y'datahit值在更改时会发生变化 玩家实体到达了一个砖块的角落,并且出于某种原因 如果有2块砖边,砖块组件几乎被忽略了 侧。

1 个答案:

答案 0 :(得分:0)

您可以在实体上绘制多个hitbox,然后根据哪个框触发碰撞执行您的特定操作。