1

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

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

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

4

1 回答 1

0

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

于 2013-09-22T19:58:02.830 回答