2012-08-25 5 views
0

this 튜토리얼을 따라 tilebased 맵을 만들고 캐릭터를 둘러 보았습니다. 그 다음에는 this 자습서를 따라 이동을위한 스프라이트 애니메이션을 추가했습니다. Cocos2d - 애니메이션 + 스프라이트 중심 카메라?

[self stopAction: cameraMoveAction]; 
[playerSprite stopAction:playerMoveAction]; 
[playerSprite runAction: targetAction]; 

self.playerMoveAction = [CCSequence actions: 
         [CCMoveTo actionWithDuration: MOVEMENT_SPEED * 4 position: newPosition], 
         [CCCallFunc actionWithTarget: self selector: @selector(finishedMoving)], 
         nil 
         ]; 

self.cameraMoveAction = [CCSequence actions: 
         [CCMoveTo actionWithDuration: MOVEMENT_SPEED * 4 position: [self calculateNewCenterOfScreen: newPosition]], 
         nil 
         ]; 

[self runAction: cameraMoveAction]; 
[playerSprite runAction: playerMoveAction]; 

당신이 보는 경우에 그래서, 플레이어와 카메라 모두 이동하고 (플레이어를 유지하기 위해하는 모든 시간을 중심으로) : 나는 움직임에 대해 다음과 같이 함께했다. 나는 또한 finishedMoving 콜에서 플레이어에 카메라를 집중 시키려고 시도했지만 매우 나 빠졌다 (플레이어가 움직이면 카메라가 플레이어 위치로 급히 움직일 것입니다).

이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

1

주어진 노드를 자동으로 따라가는 CCFollow 동작을 시도 할 수도 있습니다. 플레이어를 옮길 때는

[레이어 실행 액션 : [CCFollow actionWithTarget : playerNode]]와 같이 호출하십시오.

+0

대단 했어! 나는'init' 함수에서 한 번만 호출하면되고 계속 작동하는 것을 좋아한다. 감사! – Kyle

관련 문제