1

我的游戏中有三个预先确定的生成点,已存储到 CGPoints ivars 中

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

我想做的是在这些点之间随机选择。之后,我会将精灵的位置设置为该点。我可以以某种方式使用 arc4random 吗?

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

所以从我调用的初始化方法 [self createSpawnPoint]; 我有这三个点,在那里我将把它设置为 spawnPoint,这只是一个 ivar,我将用它来以不同的方法设置我的 sprite。

提前致谢!

4

1 回答 1

2

只需使用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);
}

希望有帮助!

于 2013-02-11T01:31:25.077 回答