我有一个游戏层和一个名为 TestNode 的子节点 (CCNode)。我向 TestNode 添加了一个精灵表,并在这个精灵表中添加了几个“导弹”。现在我的问题是那些导弹与游戏层中的物体的碰撞检测,因为坐标似乎是错误的。
我在导弹实施中有以下几点:
//first I get the Game layer
GameLayer *gL = (GameLayer *)self.parent.parent.parent;
//parent = spritesheet, spritesheet's parent = TestNode, TestNode's parent = Game layer
//Now I convert the coordinates of missile to Game Layer's node space
CGPoint realPos = [gL convertToNodeSpace:self.position];
这大致就是我在我的代码中所做的......它似乎不起作用!我对 TestNode 进行了几乎相同的碰撞检测,它似乎工作得很好。是因为精灵表吗?我现在已经挣扎了几天,但我根本无法让它工作。更改几乎没有给我任何提示我做错了什么。所以你几乎是我最后的希望......