0
A
回答
0
首先,你是在NSMutableArray
添加所有精灵如下面的代码。
分配阵列
NSMutableArray *AryT = [[NSMutableArray alloc]init];
不同的充精灵
CCSprite *torpedoOne1 = [CCSprite spriteWithFile:@"[email protected]"];
CCSprite *torpedoOne2 = [CCSprite spriteWithFile:@"[email protected]"];
CCSprite *torpedoOne3 = [CCSprite spriteWithFile:@"[email protected]"];
全部添加这精灵在定义数组
[AryT addObject:torpedoOne1];
[AryT addObject:torpedoOne2];
[AryT addObject:torpedoOne3];
采取随机数从数组
int RandomIndex = arc4random_uniform(AryT.count);
Randomaly精灵
[self addchild:[AryT objectAtIndesx:RandomIndex]];
+0
请注意,在此实现中,您正在加载所有精灵的纹理数据。如果OP只想使用一个进行长时间会话,则会导致内存浪费。我建议只在数组中存储文件**名称**,当你选择一个时,你加载相应的精灵。 – Voldemort
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];
这样,你不需要采取一个可变数组等。希望这会有所帮助。
0
这里的另一种方法,如果你不想重命名文件,你可以简单地把自己的名字的数组:
NSString *names[4] = {@"RedSprite.png", @"GreenSprite.png", @"YellowSprite.png", @"PurpleSprite.png"};
CCSprite *sprite = [CCSprite spriteWithFile:names[arc4random_uniform(4)]];
[self addChild:sprite];
相关问题
- 1. Cocos2D随机精灵运动
- 2. 随机精灵位置
- 3. 随机分配的精灵
- 4. 生成随机精灵
- 5. 无法选择一个精灵来随机抽取
- 6. Javascript:构造函数中的随机精灵选择
- 7. cocos2d从精灵图加载随机图片
- 8. 如何使敌方精灵产卵在cocos2d在随机
- 9. 在cocos2d中随机显示不同的精灵
- 10. 如何随机移动精灵和保持碰撞工作 - Cocos2d?
- 11. Cocos2d-android检测随机创建的精灵或rects
- 12. 显示和随机化4x6网格中的精灵 - Cocos2d-x
- 13. cocos2d动画精灵
- 14. 精灵落在cocos2d
- 15. Cocos2d - 动画+集中精灵相机?
- 16. 在cocos2D中如何为精灵编写选择器
- 17. Cocos2d更改精灵目标
- 18. Cocos2d滚动比例精灵
- 19. 在Cocos2d中缩放精灵
- 20. Cocos2d:纯色矩形精灵?
- 21. 分解cocos2d中的精灵
- 22. Cocos2d自动精灵动画
- 23. Cocos2d中的触摸精灵
- 24. Cocos2d iPhone的精灵问题
- 25. 的Cocos2D - 灌装精灵
- 26. cocos2d 0.8版精灵动画
- 27. 的cocos2d精灵碰撞
- 28. cocos2d中的精灵边界?
- 29. cocos2d如何组合精灵
- 30. iPhone和Cocos2d精灵/图层
这个问题不符合该平台的标准。请先尝试自行找到解决方案。如果您对帖子的详细信息停留在迄今为止已尝试的内容中, –
如果以下任何答案适用于您,请您接受相同的答案。 – SaffronState