除了一个方向外,我怎样才能在视图中移动所有节点?我正在创建的游戏类型的一个例子是一种口袋妖怪的结构,其中屏幕中心的主角在中心保持静止并且所有背景物体都移动。
如果有人知道如何以最有效的方式完成这项工作,我将不胜感激。
提前致谢。
答案 0 :(得分:0)
在更新方法中,使用enumerateChildNodesWithName:usingBlock:并传递// *来枚举所有节点,然后在块内检查名称,如果它不是你不想要的那个移动,移动。
[self enumerateChildNodesWithName:@"//*" usingBlock:^(SKNode *node, BOOL *stop) {
if (node.name != @"nameOfTheNodeYouDontWantToMove") {
node.position = CGPointMake(node.position.x - 1, node.position.y);
}
}];
答案 1 :(得分:0)
通常的方法是将所有移动对象添加到worldNode
,然后更改worldNode的位置。将角色分别添加到SKScene。
let worldNode = SKNode()
self.addChild(worldNode) // Add to SKScene
worldNode.addChild(childNode) //Add all nodes
//let character = SKSpriteNode
character.position = centerOfScreen
self.addChild(character) // Add to SKScene
要移动所有精灵,请更改worldNode
worldNode.position = newPosition