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

时间:2013-02-11 01:27:32

标签: ios cocos2d-iphone cgpoint arc4random

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

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

我想做的是在这些点之间随机选择。在那之后,我将把我的精灵的位置设置到那一点。我能以某种方式使用arc4random吗?

我已经看到了很多关于生成随机点的例子,我已经在游戏中做到了这一点,但我在如何使用预定点上画了一个空白?任何建议将不胜感激?

所以从init方法我调用[self createSpawnPoint];我有这三点,在那里我将它设置为spawnPoint,这只是一个我将用于以不同的方法设置我的精灵的ivar。

提前致谢!

1 个答案:

答案 0 :(得分: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);
}

希望有帮助!