这是一个复杂的应用程序,所以我希望我得到所有相关的部分:
我希望通过SKNode
来“翻页”,其中包含一些SKSpriteNodes
。
分页后,子节点不会对runAction:
作出反应。
分页:
要翻页,我使用UIPanGestureRecognizer
。
当前“页面”= SKNode *currentForegroundNode
。
下一个“页面”= SKNode *nextForegroundNode
。
在(recognizer.state == UIGestureRecognizerStateChanged) {..}
我正在移动当前&下一页。 (工作)
(recognizer.state == UIGestureRecognizerStateEnded) {...}
中的
SKAction *moveNextForegroundToFront = [SKAction moveToX:0 duration:0.2f];
[self.nextForegroundNode runAction:moveNextForegroundToFront completion:^{
[self.currentForegroundNode removeAllChildren];
[self.nextForegroundNode enumerateChildNodesWithName:@"node_1" usingBlock:^(SKNode *node, BOOL *stop) {
//Node is kind of class SKSpriteNode
[node removeFromParent];
[self.currentForegroundNode addChild:node];
}
}];
[self.nextForegroundNode removeAllChildren];
[self.nextForegroundNode removeFromParent];
self.nextForegroundNode = nil;
}
在此之后,一切看起来都很好。但我不能在iOS7的self.currentForegroundNode的子节点上运行任何动作!安装iOS8后,它可以正常工作。