2014-04-10 1 views
2

"viewcontroller에 대해 visible : @interface가 표시되지 않습니다. 선택기 addChild가 기본적으로 내 skEmitter 노드를 내 게임에 추가하려고합니다."라는 오류가 발생합니다. https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKEmitterNode_Ref/Reference/Reference.html 또한내 게임에 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] 

} 
+3

Scene 대신 ViewController에 SKEmitterNode를 추가하는 이유는 무엇입니까? – sangony

+0

didMoveToView는 SKScene 메소드입니다. 위의 코드를 initWithSize로 옮기고 그 차이가 있는지 확인해보십시오. – fuzzygoat

+0

잘 메신저 장면에 추가하려고 어떻게 그냥 @ sangony 모르겠다 – Colangelo

답변

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에 관심이 점점 찾는 경우가 나는 당신이 어떤 훌륭한 튜토리얼과 지식을 확장하는 것이 좋습니다. 이것은 당신의 경험을 훨씬 덜 좌절하게 만들 것이고, 다음 Angry Birds 창작자가되기위한 길로 인도 할 것입니다! 이 사이트의 튜토리얼을보십시오 http://www.raywenderlich.com

+0

당신의 도움을 주셔서 감사합니다 이것은 내 문제를 해결하고 끝내 주셔서 감사합니다. – Colangelo

+0

당신은 환영합니다. 해피 코딩! – sangony

0

여기

이 요구 사항을 확인하는 링크 인의 viewDidLoad (뷰 컨트롤러)에 자신의 방법에서 MyScene.m에 추가하지 키트 프레임 프로젝트에서 작업하거나 apple에서 제공하는 스프라이트 키트 템플릿으로 시작하십시오.