2013-10-04 8 views
2

SKNode 앞으로 이동하려면 어떻게해야합니까?SKAction 앞으로 이동

노드를 [SKAction moveByX:y:duration:]을 사용하여 고정 방향으로 이동시킬 수 있었지만 방향으로 향한 방향으로 이동하려고합니다.

각 노드가 45도 회전 한 다음 앞으로 50 픽셀 이동하도록합니다.

나는 그것을 찾을 수 없을 정도로 간단 해 보인다.

답변

2

이 회전합니다, 당신은

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 

for (UITouch *touch in touches) { 

    for (UITouch *touch in touches) { 

     CGPoint location = [touch locationInNode:self]; 

     CGPoint diff = CGPointMake(location.x - _myPlayer.position.x, location.y - _myPlayer.position.y); 

     CGFloat angleRadians = atan2f(diff.y, diff.x); 

     [_myPlayer runAction:[SKAction sequence:@[ 
           [SKAction rotateToAngle:angleRadians duration:1.0], 
           [SKAction moveByX:diff.x y:diff.y duration:3.0] 
           ]]]; 
    } 
} 
} 
0

나뿐만 아니라 이것에 대해 생각 탭 곳으로. 계속 진행하기 전에 선회하고있는 것처럼 보일 수있는 노드를 만들고 싶습니다. 이 작업을 고려한 한 가지 방법은 장면에서 움직이는 노드의 "가장 앞쪽에있는"부분을 자식 노드에 연결시키는 것입니다. 그런 다음 탭 형태의 자식 노드까지의 거리를 계산합니다. 말이 돼? 본질적으로, 나는 장면의 어느 곳에서나 탭으로부터 노드의 정면을 계산할 수있을 것이다.