2013-12-18 2 views
1

나는 다음과 같은 코드호환되지 않는 포인터 타입

SKSpriteNode *spaceship = [SKAction sequence: @[ 
          [SKAction performSelector:@selector(newSpaceship) onTarget:self], 
          [SKAction waitForDuration:0.10 withRange:0.15]]]; 
[self runAction: spaceship]; 

경고 유형 'SKAction의 *'의 식 'SKSpriteNode의 *를'초기화 호환되지 않는 포인터 타입을 읽어와 경고를 받고 있어요에 대한 경고를 얻기.

저는 Objective C와 Xcode의 초보자입니다. 그래서 여기에서 계속되고있는 문제를 이해할 수 없습니다. 도움을 주셔서 감사합니다 =).

SKAction의 인스턴스를 만들기 :

답변

4

등호 오른쪽의 코드는 SKAction 객체에 대한 포인터를 반환하지만 왼쪽의 객체 포인터 유형은 SKSpriteNode입니다. 해당 유형을 SKAction으로 변경하기 만하면 변수 이름을 더 잘 반영하도록 변경할 수 있습니다.

SKAction * spaceshipAction = [SKAction ...

1

오류는 당신이 무슨 일을하는지 알려줍니다. 이 포인터를 SKSpriteNode의 인스턴스에 대한 포인터로 설정하십시오.

(보기의 편집 점에서) 올바른 코드는 다음과 같습니다

SKAction *spaceship = [SKAction sequence: @[... 

그러나 당신은 당신이 그렇게하도록 노력하고 논리적으로 올바른 만약 내가 아무 생각이 무엇을 말했다하지 않았습니다. selfSKNode 인스턴스라고 가정하고 runAction:의 사용법에 따라 일종의 모양이 정확합니다.

관련 문제