选择随机精灵Cocos2d 3.0

时间:2014-03-28 01:13:26

标签: cocos2d-iphone sprite

我有4个精灵,每次游戏开始时它会从4个精灵中随机选择1作为主精灵。

我该怎么做?

我知道我需要使用arc4random

3 个答案:

答案 0 :(得分:1)

最简单的方法是 - 首先使用某些数字命名图像(.png)文件,例如sprite1.png,sprite2.png ....

    int rndSprtNum = (arc4random() % 4) + 1;         
    CCSPrite *mainSprite = [CCSprite spriteWithFile:[NSString StringWithFormat:@"sprite%d.png",rndSprtNum]];
    mainSprite.position = ccp(x,y);
    [self addChild:mainSprite];

这样你就不需要采用可变阵列等希望这会有所帮助。

答案 1 :(得分:0)

首先,您要在NSMutableArray中添加所有精灵,如下面的代码。

分配数组

NSMutableArray *AryT = [[NSMutableArray alloc]init];

不同的精灵

CCSprite *torpedoOne1 = [CCSprite spriteWithFile:@"A@2x.png"];

CCSprite *torpedoOne2 = [CCSprite spriteWithFile:@"B@2x.png"];

CCSprite *torpedoOne3 = [CCSprite spriteWithFile:@"C@2x.png"];

在定义数组

中添加所有此精灵
[AryT addObject:torpedoOne1];

[AryT addObject:torpedoOne2];

[AryT addObject:torpedoOne3];

从数组中取随机数

int RandomIndex = arc4random_uniform(AryT.count);

Randomaly sprite

[self addchild:[AryT objectAtIndesx:RandomIndex]];

答案 2 :(得分:0)

这是另一种方法,如果您不想重命名文件,只需将其名称放在数组中即可:

NSString *names[4] = {@"RedSprite.png", @"GreenSprite.png", @"YellowSprite.png", @"PurpleSprite.png"};

CCSprite *sprite = [CCSprite spriteWithFile:names[arc4random_uniform(4)]];

[self addChild:sprite];