Iam使用Sprite Kit製作簡單遊戲,並且我希望每次遊戲開始時都改變背景,例如,當新遊戲開始時,背景是藍色,但是當英雄死亡並且開始新的遊戲背景是黃色的。在此之前,我製作了IMG的SKTextureAtlas,當英雄死亡時閃現,也許我可以更改一些代碼,以適應我的需求? 這裏我的代碼示例:當新遊戲開始時更改背景客觀化c
SKTextureAtlas *atlas =[SKTextureAtlas atlasNamed:@"back"];
SKTexture *back0 = [atlas textureNamed:@"[email protected]"];
SKTexture *back1 = [atlas textureNamed:@"[email protected]"];
SKTexture *back2 = [atlas textureNamed:@"[email protected]"];
SKTexture *back3 = [atlas textureNamed:@"[email protected]"];
NSArray *backatlas = @[back0, back1, back2, back3];
SKAction *backatlasanimation = [SKAction animateWithTextures:backatlas timePerFrame:0.1];
SKAction *wait = [SKAction waitForDuration:0.1];
SKAction *backaction = [SKAction sequence:@[wait, backatlasanimation]];
[background runAction:backaction];
[self addChild:background];
嗯,我做我的研究,並提出了這一點:
-(NSarray *)background{
if(!_background){
_background = @[[SKColor redColor], [SKColor yellowColor], [SKColor grayColor]];
}
return _background ;
}
//// Add some random, so color change.
-(SKColor *) randomColorBack {
int index = arc4random() % [self.backgrounds count];
return self.backgrounds[index];
}
......
background.color = [self randomColor];
background.colorBlendFactor = 1.0;
但如何用圖片做了,是不是好主意,使用原裝Xcode在遊戲中提供什麼顏色?
你是不是想通過使用預先定義的顏色,隨機背景顏色,或者是沒有預定義的顏色和各種顏色隨機化時允許嗎?或者你試圖隨機化背景圖片(改變紋理)?如果你的圖像只是單色,那麼就不需要使用紋理。只需更改backgroundColor屬性。 – Whirlwind
@Whirlwind那裏只有預定義的一組顏色,但是,我想設置背景圖像不是顏色,圖像是單色的,但Sprite套件不提供那種顏色,我需要 – artG
你錯了。你可以創建你想要的任何顏色。您只需爲紅色,綠色,藍色和alpha組件提供正確的值。讓我爲你寫一個例子。 – Whirlwind