我有一座塔和一个怪物。该塔周围有一个SkShapeNode,充当其范围。而且我想检查一下怪物是否仍然在塔的范围内(即在skshape节点内)。检测Sprites是否正确?
我有这个方法,我想检查是否有什么仍然是塔范围之内:
-(void)update
{
[self.currentScene.physicsWorld enumerateBodiesInRect:self.towerRangeNode.frame usingBlock:^(SKPhysicsBody *body, BOOL *stop) {
if (body == nil) {
[self lostSightOfMonster];
}
}];
}
然而,[自lostSightOfMonster]方法不会运行。
更多的了解,我称之为场景的更新方法,这个方法:
[self enumerateChildNodesWithName:@"Tower" usingBlock:^(SKNode *node, BOOL *stop) {
Tower *tower = (Tower *) node;
[tower update];
if (tower.hasChosenEnemy) {
[tower updateRotation];
}
}];
}
我怀疑它是与在矩形法列举的身体,但我不当然。
在此先感谢
感谢您的回答,@JDodle – user3785077