你可以保存在SKS文件中的节点的位置(Can you save the position of a

2019-10-20 17:48发布

我试图创造一个我们在创造我们的地方球员和其他物体将被放置的地方空节点SKScene文件。 问题是,位置都在代码中设置。 是否有可能设置的位置在SKS文件,而不是? 我也注意到有在节点检查一个位置标签,但似乎并没有产生任何影响。

Answer 1:

写数据NSUserDefaults的 :

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSDictionary *nodeDict = [[NSDictionary alloc] initWithObjectsAndKeys:
                          [NSNumber numberWithFloat:myNode.position.x], @"posX",
                          [NSNumber numberWithFloat:myNode.position.y], @"posY",
                          nil];

[defaults setObject: nodeDict forKey:@"nodeDict"];

[defaults synchronize];

读取数据NSUserDefaults的:

NSDictionary * nodeDict = [[NSUserDefaults standardUserDefaults] objectForKey:@"nodeDict"];

float posX = [[nodeDict objectForKey:@"posX"] floatValue];
float posY = [[nodeDict objectForKey:@"posY"] floatValue];

很明显,你可以写比上面的例子更大量的数据。 如果你有几个节点,创建一个字典为每一个和他们都存储在数组中。 写数组NSUserDefaults的。

请记住,你只能存储对象在字典中,而不是像整数,浮点,等等...元这就是为什么你必须将它们转换为NSNumber的。



文章来源: Can you save the position of a node in an sks file