所以我有我的主要观点,我可以做这样的事情:
player = [Hero spriteNodeWithImageNamed:@"player.png"];
player.position = CGPointMake(512, 384);
[self addChild:player];
这是在GameScene
完成的,这是我的主要场景,它在视图控制器中加载如下:
-(void) presentFirstScene
{ // create and present first scene
GameScene* myScene = [GameScene sceneWithSize:self.view.bounds.size];
[self.kkView presentScene:myScene];
}
现在如果我有一个名为A
的其他类(可以在GameScene
中找到此类的实例),如何在A
中将SKSpriteNodes添加到主GameScene
}。
最简单/最有效的方法是什么?
谢谢,
路易斯
答案 0 :(得分:1)
您可以在A类中创建返回SKSpriteNodes的方法,例如:
// in .m
-(SKSpriteNode*)getHero {
SKSpriteNode *hero = [SKSpriteNode spriteWithImageNamed:@"player.png"];
// Add more customisation here
return hero;
}
在你的GameScene中,你可以这样称呼它:
SKSpriteNode *hero = [a getHero];
hero.position = CGPointMake(512, 384);
[self addChild: hero];
请记住将类声明添加到.h文件中:
-(SKSpriteNode*)getHero;
希望这是你所追求的。
答案 1 :(得分:0)
如果A正在生成没有GameScene明确请求它们的节点,那么您可以使用委托模式。当有一个要添加的新节点时,在其委托上调用一个方法。