Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Crafty.js游戏引擎进行水平碰撞检测_Javascript_Collision Detection_Craftyjs - Fatal编程技术网

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

Javascript 使用Crafty.js游戏引擎进行水平碰撞检测,javascript,collision-detection,craftyjs,Javascript,Collision Detection,Craftyjs,我正在尝试建立一个突破式的游戏类型,持续不断 玩家垂直移动,仅水平输入。我需要检测 如果砖块击中侧面或顶部/底部。在没有发现的情况下, 我没能阻止球员的动作重叠 没有被摧毁的砖块。我试着去探测那条路的边缘 玩家实体使用此方法命中的多边形(当检测到碰撞时调用第一个函数,当justHit设置为false时调用第二个函数): 但我有两个问题:当 玩家实体到达砖块的角落,出于某种原因 如果有两块砖并排放置,则砖组件几乎被忽略 一边 我在网上发布了一些精简的代码 您可以看到使用hitdata进行当前检测

我正在尝试建立一个突破式的游戏类型,持续不断 玩家垂直移动,仅水平输入。我需要检测 如果砖块击中侧面或顶部/底部。在没有发现的情况下, 我没能阻止球员的动作重叠 没有被摧毁的砖块。我试着去探测那条路的边缘 玩家实体使用此方法命中的多边形(当检测到碰撞时调用第一个函数,当
justHit
设置为false时调用第二个函数):

但我有两个问题:当 玩家实体到达砖块的角落,出于某种原因 如果有两块砖并排放置,则砖组件几乎被忽略 一边

  • 我在网上发布了一些精简的代码
  • 您可以看到使用hitdata进行当前检测的示例 条件句
  • 和一个原始的碰撞错误的例子

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

我不确定是否理解您的问题,示例链接已断开。
.onHit("brick", function() { 
    if (data[0]['normal']['y']==0) { 
        reverseDirection(); 
    } 
    else { 
        this._hspeed = 0; 
    } 
}, function() { 
    this._hspeed = 3; 
})