将SKEmitter节点添加到我的游戏中

时间:2014-04-10 02:32:47

标签: ios sprite-kit skemitternode

我得到一个错误,读取" 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]

}

2 个答案:

答案 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(视图控制器)中

此处是检查要求的链接:https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKEmitterNode_Ref/Reference/Reference.html

还要确保你有Sprite kit frame在你的项目中工作,或者从apple提供的sprite kit模板开始。