ios - 在预定的 CGPoints 之间随机选择?

标签 ios cocos2d-iphone cgpoint arc4random

我在我的游戏中有三个预先确定的出生点,我已经将它们存储到 CGPoints ivars 中

CGPoint spawnPos1 = ccp(50, 50);
CGPoint spawnPos2 = ccp(150, 150);
CGPoint spawnPos3 = ccp(250, 250);

我想做的是在这些点之间随机选择。之后我会将我的 Sprite 的位置设置到那个点。我可以以某种方式使用 arc4random 吗?

我看过很多关于生成随机点的示例,而且我已经在我的游戏中这样做了,但我对如何使用预定点一无所知?任何建议将不胜感激?

所以从 init 方法我调用 [self createSpawnPoint];在我有这三个点的地方,我将在其中将其设置为 spawnPoint,这只是一个 ivar,我将使用它以不同的方法设置我的 Sprite 。

提前致谢!

最佳答案

只需使用 arc4random() % 3 来选择哪个值:

int spawnChoice = arc4random() % 3;
CGPoint spawnPoint = CGPointZero;

if(spawnChoice == 0){
  spawnPoint = CGPointMake(50.0, 50.0);
}
else if(spawnChoice == 1){
  spawnPoint = CGPointMake(150.0, 150.0);
}
else{
  spawnPoint = CGPointMake(250.0, 250.0);
}

希望对您有所帮助!

关于ios - 在预定的 CGPoints 之间随机选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804700/

相关文章:

iphone - 带drawAtPoint的多行文本(自动换行)?

iphone - 即使我暂停游戏,菜单也能正常工作吗?

ios - 使用 Cocos2D 的 schedule : method 检查其他方法是否有效

ios - WebDriverAgent 有问题 - Appium/Xcode

c# - Objective C 到 C#(图像裁剪代码)

iphone - 为什么我的 uialertview 每次我恢复时都会在 applicationdidbecomeActive 上被驳回?

ios - 使用 NSComparisonResult 对 CGPoints 数组进行排序时在一个项目中出错

ios - 如何在 iOS 上通过 UITouch 查找最近的站点

iOS - 确定 _WebTryThreadLock 中的崩溃原因(来自崩溃报告)

iphone - viewDidLoad 中的 NSURLRequest 使用缓存数据?