2014-06-30 2 views
0

버튼을 사용하여 스프라이트를 위아래로 이동하고 싶습니다. Sprite Kit에서 UIButtons를 사용할 수 없으므로 다른 SpriteKitNodes를 사용하고 있습니다. 노드는 화살표 이미지입니다. 그러나 나는 원래의 스프라이트를 움직이기 위해 화살표 이미지를 사용하고 싶지만 단순히 그것을 만지기를 원한다. 나는 SKAction을 사용할 것이라고 생각했지만 막혔습니다. 다른 스프라이트를 사용하여 하나의 스프라이트를 이동할 수 있습니까?버튼을 사용하여 spriteKit 노드를 위아래로 이동하는 방법

답변

0

SpriteKit에 버튼이 없어도 버튼으로 작동하도록 SKSpriteNode를 쉽게 하위 클래스로 만들 수 있습니다. GitHub here에서 사용할 수있는 클래스를 만들었습니다.

SKAction을 방향 버튼을 기준으로 사용하는 것은 좋지 않습니다. 대신 -update: 메소드에서 노드를 이동할 방향 버튼에 플래그를 사용해야합니다.

플래그를 인스턴스 변수로 유지 관리하십시오.

@implementation MyScene 
{ 
    BOOL upDirection; 
    BOOL downDirection; 
} 

-initWithSize: 방법으로 FALSE로 초기화하십시오.

당신이 -update 방법에 플래그를 처리하는 방법입니다 :

-(void)update:(CFTimeInterval)currentTime 
{ 
    /* Called before each frame is rendered */ 

    if (upDirection) 
    { 
     myNode.position = CGPointMake(myNode.position.x, myNode.position.y + 5); //Increment value can be adjusted 
    } 

    if (downDirection) 
    { 
     myNode.position = CGPointMake(myNode.position.x, myNode.position.y - 5); //Decrement value can be adjusted 
    } 
} 
관련 문제