我得到一个错误,读取" viewcontroller没有可见的@interface声明选择器addChild"基本上我试图将我的skEmitter节点添加到我的游戏中。
-(void) didMoveToView:(SKView *) view{
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyParticle" ofType:@"sks"];
SKEmitterNode *node = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
node.position = CGPointMake(0, 100);
[self addChild : node]
}
答案 0 :(得分:1)
试试这个:
@implementation MyScene
{
SKEmitterNode *myParticle; // < add this
}
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size])
{
myParticle = [[SKEmitterNode alloc] init]; // < add this
[self startMyParticle]; // < add this
}
}
-(void)startMyParticle // << add this entire method from start to finish
{
myParticle = [NSKeyedUnarchiver unarchiveObjectWithFile: [[NSBundle mainBundle] pathForResource:@"MyParticle" ofType:@"sks"]];
myParticle.position = CGPointMake(200, 200); // < you can change these to the coordinates you want
[self addChild: myParticle];
}
如果您真的发现自己对SpriteKit感兴趣,那么我建议您通过一些优秀的教程扩展您的知识。这将使您的体验不那么令人沮丧,让您成为下一个愤怒的小鸟创造者!请查看此网站上的教程http://www.raywenderlich.com
答案 1 :(得分:0)
在它自己的方法中添加到MyScene.m而不是在ViewDidLoad(视图控制器)中
还要确保你有Sprite kit frame在你的项目中工作,或者从apple提供的sprite kit模板开始。