我有一个GamePlayScene,当结束时,删除所有节点并显示得分和重新启动的选项。我也有一个按钮在那个场景,带你到另一个场景,以显示可升级的项目。我想要创建一个函数,在“升级项目”场景中添加一个后退按钮,将我返回到结束的GamePlay场景。我现在拥有的代码将我返回到GamePlay场景,但是将重新启动游戏,而不是在文本上显示游戏。我试过在网上搜索,但我找不到一个好的解决办法。我的守则:
GamePlayScene.m
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
...
else if (self.restart) {
[[GameState sharedInstance] saveState];
if ([node.name isEqualToString:@"UpgradesButton"]){
UpgradeShipScene *upgradeScene = [UpgradeShipScene sceneWithSize:(self.frame.size)];
SKTransition *transition = [SKTransition fadeWithDuration:0.5];
[self.view presentScene:upgradeScene transition:transition];
}
...
}
UpgradesScene.m
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInNode:self];
SKNode *node = [self nodeAtPoint:location];
if ([node.name isEqualToString:@"BackButton"]){
for (SKNode *node in [self children]){
[node removeFromParent];
}
GamePlayScene *scene = [GamePlayScene sceneWithSize:self.view.bounds.size];
SKTransition *transition = [SKTransition fadeWithDuration:0.5];
[self.view presentScene:scene transition:transition];
}
}发布于 2015-08-05 21:58:04
您可以使用SKNode作为“假”SKScene,然后使用SKAction将其动画化(呈现或隐藏)。
https://stackoverflow.com/questions/31821868
复制相似问题