【发布时间】:2014-10-06 01:06:15
【问题描述】:
我是 SpriteKit 的新手,我正在创建一个游戏,该游戏涉及当用户达到特定分数增量时随机化屏幕上对象的 CGPoint 位置。我创建了一个包含 8 个设置位置的 plist,我希望我的对象在调用此方法时从中进行选择,但是我的对象选择重复的 plist 位置并相互重叠时遇到了问题。有没有我可以调用的方法来防止我的对象在调用该方法时从 plist 中选择与另一个对象相同的位置?
仅供参考,我计划在整个游戏过程中多次调用这种随机化方法。
我编写了以下代码,但我的游戏崩溃了。
- (NSMutableArray *)pickAndRemoveFromList:(NSMutableArray *)list {
list = [_objectList copy];
NSInteger randomIndex = arc4random()%list.count;
Objects *object = [list objectAtIndex:randomIndex];
[list addObject:object];
[list removeObject:object];
return list;
}
【问题讨论】:
-
我在您建议的帖子“创建主数组的本地 mutablearray 副本,并在获取随机值后,从本地数组中删除随机索引处可用的对象,处理它直到数组计数为 1。 “......你会知道我如何以编程方式创建它吗?
-
我用你建议的方法写了上面的代码。
标签: ios objective-c iphone sprite-kit arc4random