gpt4 book ai didi

ios - 有没有办法让每次生成元素时都出现随机图像? ( objective-C )

转载 作者:行者123 更新时间:2023-11-29 03:06:06 24 4
gpt4 key购买 nike

我正在为 IOS 开发一款 sprite-kit 游戏。在我的游戏中,我每 5 秒就会产生碎片,然后像障碍物一样向玩家移动。我为我想使用的碎片制作了一系列图像,但似乎无法弄清楚如何在游戏中随机生成它们?

这是我的代码:

-(void)spawnDebris {
SKSpriteNode * debris = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"debrisPiece1.png"] size:CGSizeMake(40, 40)];

debris.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:10];
debris.physicsBody.allowsRotation = NO; //might say yes
debris.physicsBody.categoryBitMask = CollisionDebris;
debris.position = CGPointMake(50, 50);

[_debris addObject:debris];
[self addChild:debris];

//next Spawn:
[self runAction:[SKAction sequence:@[
[SKAction waitForDuration:5],
[SKAction performSelector:@selector(spawnDebris) onTarget:self],
]]];
}

父“_debris”是一个 NSMutableArray * _debris。我将如何着手编写它以便我也可以生成 debrisPiece 2 或 debrisPiece 3(碎片图像)?我是否在 spriteNodeWithTexture:@[] 中创建另一个数组?这可能吗?

谢谢。

最佳答案

您可以使用 arc4random() 函数生成随机数,因此您可以这样做:

NSString *base = @"debrisPiece";
uint32_t num = arc4random_uniform(number_of_debris_images) + 1; //Generate a random number
NSString *textureName = [base stringByAppendingFormat:@"%d.png", num];
SKSpriteNode * debris = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:textureName] size:CGSizeMake(40, 40)];
//...

关于ios - 有没有办法让每次生成元素时都出现随机图像? ( objective-C ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com