簡體   English   中英

如何將精靈隨機添加到場景

[英]how to randomly add sprites to scene

我試圖隨機添加多個圖像到我的場景。 我有4個名為Gem1,Gem2,Gem3和Gem4的圖像。 我被卡住了。 這是我到目前為止的代碼,但是有錯誤。 有人能幫助我嗎?

- (void)addGem {

// Create sprite
NSString *base = @"Gem";
uint32_t num = arc4random_uniform(4) + 1; //Generate a random number
NSString *GemName = [base stringByAppendingFormat:@"%d.png", num];
SKSpriteNode * Gem = [SKSpriteNode spriteNodeWithImageNamed:@"GemName"];

_gem = Gem;

Gem.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:Gem.size]; // 1
Gem.physicsBody.dynamic = YES; // 2
Gem.physicsBody.categoryBitMask = GemCategory; // 3
Gem.physicsBody.contactTestBitMask = monsterCategory; // 4
Gem.physicsBody.collisionBitMask = 0;

int minx = 200;
int maxx = 1000;
int rangex = maxx - minx;
int actualx = (arc4random() % rangex) + minx;
int minY = 900;
int maxY = 1200;
int rangeY = maxY - minY;
int actualY = (arc4random() % rangeY) + minY;

Gem.position = CGPointMake(actualx, actualY);

[_background addChild:Gem];
[self runAction:[SKAction sequence:@[
[SKAction waitForDuration:5],
[SKAction performSelector:@selector(addGem) onTarget:self],]]];


}

只需刪除“”即可。 :D

SKSpriteNode * Gem = [SKSpriteNode spriteNodeWithImageNamed:@"GemName"];

SKSpriteNode * Gem = [SKSpriteNode spriteNodeWithImageNamed:GemName];

需要您發布“ addGem”方法來幫助您解決職位問題; 如果有的話。

SKSpriteNode * Gem = [SKSpriteNode spriteNodeWithImageNamed:@"GemName"];

這里GemName是一個變量,不應將其用""包裹,只需將其刪除即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM