Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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
Cocos2d iphone 复杂节点坐标下的hirearchy碰撞检测_Cocos2d Iphone_Collision Detection - Fatal编程技术网

Cocos2d iphone 复杂节点坐标下的hirearchy碰撞检测

Cocos2d iphone 复杂节点坐标下的hirearchy碰撞检测,cocos2d-iphone,collision-detection,Cocos2d Iphone,Collision Detection,我很难让两个“杀手锏”出现在同一架飞机上或类似的地方。我知道答案在convertToNodeSpace或convertToWorldSpace方法中的某个地方,但尽管查看了API和一些示例并尝试了一些方法,我仍然不确定如何最好地更改我的节点/世界空间以获得正确的比较 我的简历如下。我想比较两个边界框数量 SCENE -GameLayer -HeroCharacter -Sprite -boundingBox -WorldLa

我很难让两个“杀手锏”出现在同一架飞机上或类似的地方。我知道答案在convertToNodeSpace或convertToWorldSpace方法中的某个地方,但尽管查看了API和一些示例并尝试了一些方法,我仍然不确定如何最好地更改我的节点/世界空间以获得正确的比较

我的简历如下。我想比较两个边界框数量

SCENE
   -GameLayer
      -HeroCharacter
         -Sprite
            -boundingBox
      -WorldLayer
         -EnemyCharacter
            -EnemySprite
               -boundingBox
让WorldLayer成为场景中的一个孩子可能会让我觉得很简单,我会尝试一下——但我仍然想知道如何比较这两个量

SCENE
   -GameLayer
      -HeroCharacter
         -Sprite
            -boundingBox
      -WorldLayer
         -EnemyCharacter
            -EnemySprite
               -boundingBox
编辑:结果表明,将GameLayer和WorldLayer放在同一级别上要容易得多。我的碰撞现在按预期工作-但是我仍然想知道如何使另一个版本只为我自己的Eddication工作

EDITEDIT:
我现在得出的结论是,我确实需要了解这是如何工作的,因为我正在寻找相互竞争的信息,并得到非常复杂的父子碰撞和放置问题。任何资源都很棒。API对我没有太大帮助

我会将两个边界框转换为世界空间,然后检查碰撞我有一个方法可以将两个命中框计算到世界空间,基本上就像[self hitbox]返回CGRectMake rect和世界空间转换的精灵位置一样。当两个精灵处于相同的“深度”时,它会起作用,但在其他情况下则不起作用