我有一座塔和一個怪物。該塔周圍有一個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