是否可以在固定位置拥有一个基本位于场景之上的SKSpriteNode?几乎就像你在HTML文档中拥有固定位置的方式一样。即使场景发生变化,我希望SKSpriteNode
保持在同一位置,但我不确定它是否可能。
这是SKSpriteNode的代码:
SKSpriteNode *kitty = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"Kitty.png"] size:CGSizeMake(82.6, 146.4)];
kitty.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
kitty.zPosition = 1.0;
[self addChild:kitty];
当我转换到下一个屏幕时,我希望它保持在屏幕中间。这是第二个屏幕的转换:
-(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:@"play"]) {
scene1 *subMenu = [[scene1 alloc] initWithSize:self.size];
[self.view presentScene:subMenu transition:[SKTransition pushWithDirection:SKTransitionDirectionUp duration:2.0]];
}
}
我可以做我想做的事吗?如果没有,请告诉我,让我有时间继续搜索。
答案 0 :(得分:1)
没有。所有节点只属于一个场景。如果你关闭场景,它的所有节点也将被解散。您可以考虑使用所选图像,因为您关闭旧场景并使用相同图像开始新场景。
如果您使用fadeWithDuration:
并将时间间隔设置为几乎为零,则可能只会在图像中显示为非常快的闪烁。当然,您的下一个场景可以在开始时准备好显示相同的图像。