我收到一个错误,提示我“试图将skEmitter节点添加到我的游戏中”基本上是“viewviewler的@interface没有可见的声明选择器addChild”。

-(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]

}

最佳答案

试试这个:

@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

08-28 13:06