Добавление узла SKEmitter в мою игру

я получаю сообщение об ошибке: «Нет видимого @interface для viewcontroller объявляет селектор 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]

}

person Colangelo    schedule 10.04.2014    source источник
comment
Почему вы добавляете SKEmitterNode в ViewController вместо сцены?   -  person sangony    schedule 10.04.2014
comment
didMoveToView — это метод SKScene, попробуйте переместить приведенный выше код в initWithSize и посмотрите, будет ли это иметь значение.   -  person fuzzygoat    schedule 11.04.2014
comment
ну, я пытаюсь добавить это в сцену, я просто не знаю, как @sangony   -  person Colangelo    schedule 11.04.2014


Ответы (2)


Попробуй это:

@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, я предлагаю вам расширить свои знания с помощью нескольких отличных руководств. Это сделает ваш опыт намного менее разочаровывающим и поможет вам стать следующим создателем Angry Birds! Ознакомьтесь с учебными пособиями на этом сайте http://www.raywenderlich.com.

person sangony    schedule 10.04.2014

Добавьте его в MyScene.m в его собственном методе, а НЕ в ViewDidLoad (контроллер представления)

вот ссылка для проверки требований: https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKEmitterNode_Ref/Reference/Reference.html

Также убедитесь, что в вашем проекте есть рамка набора спрайтов Work, или начните с шаблона набора спрайтов, предоставленного Apple.

person Community    schedule 10.04.2014