我試圖讓這個SKScene出現在場景在比賽結束的中間,這樣,以前的場景仍然在後臺(類似於笨鳥先飛的結局)可見。這是一個像我希望的方式出現:爲什麼我不能將SKScene添加到另一個SKScene?
到目前爲止,這是我做的代碼:
在遊戲場景:
-(void)dieFrom:(SKNode*)killingDebris {
_touched = YES;
if (_touched == YES) {
beatLevel = YES;
NSLog(@"touched");
[self runAction:[SKAction sequence:@[
[SKAction runBlock:^{
[_goodSquare removeFromParent];
}],
[SKAction runBlock:^{
level2Achieved = [[NSUserDefaults standardUserDefaults] integerForKey:@"newLevelAchieved"];
if (beatLevel == YES) {
level2Achieved = 2;
}
[[NSUserDefaults standardUserDefaults] setInteger:level2Achieved forKey:@"newLevelAchieved"];
[[NSUserDefaults standardUserDefaults] synchronize];
[self removeAllChildren];
}],
[SKAction waitForDuration:1.5],
[SKAction runBlock:^{
[self endGame];
}],
]]];
}
}
-(void)endGame {
[self removeAllActions];
gameOverScene *gameOverNode = [[gameOverScene alloc] initWithScore:self.score];
gameOverNode.gameScene = self;
gameOverNode.position = CGPointMake(self.scene.size.width/2, -150);
[self addChild:gameOverNode];
[gameOverNode runAction:[SKAction moveToY:self.scene.size.height/2 duration:0.6]];
}
在遊戲結束的頭文件:
@class testScene;
@interface gameOverScene : SKScene
@property (weak, nonatomic) testScene *gameScene;
-(instancetype)initWithScore:(NSInteger)score;
@end
在遊戲結束的實現:
-(instancetype)initWithScore:(NSInteger)score {
if (self = [super init]) {
self.userInteractionEnabled = YES;
self.zPosition = 5.0;
SKSpriteNode *bg = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(280, 300)];
bg.alpha = 0.6;
[self addChild:bg];
}
return self;
}
,但是這是我收到的時候我測試它在模擬器上:
與以下錯誤信息:
2014-05-11 15:22:05.502 test2[2825:60b] SKScene: Setting the zPosition of a SKScene has no effect.
2014-05-11 15:22:05.503 test2[2825:60b] SKScene: Setting the position of a SKScene has no effect.
2014-05-11 15:22:05.504 test2[2825:60b] SKScene: Animating the position of a SKScene has no effect.
誰能告訴我在哪裏,我已經出錯了,我該如何解決它? 謝謝。 請讓我知道是否需要額外的信息。
請爲您的問題選擇一個更好的標題。有了這個標題,很難得到好的答案。 – dasdom
每個SKView只能有一個場景,iOS上只能有一個SKView。你需要做的是將紅色方框部分設計爲當前場景的疊加層(使用節點)。 – LearnCocos2D
我改變了你的頭銜,因爲我認爲這是你被低估的唯一原因。這個問題本身似乎很好。 – jrturton