2013-08-16 1 views
0

UIAccelerometer를 사용하여 CCSprite를 움직이기를 원합니다. 단지 위아래로 움직여야합니다. 내가 사용하는 코드는 다음과 같습니다.UIAccelerometer를 사용하여 CCSprite 이동 - cocos2D

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration 
{ 
valueX = acceleration.y * 45.0; 

int newPos = (int)(valueX + _rocket.position.x); 

CGPoint newCenter = ccp(100, newPos); 
_rocket.position = newCenter; 
} 

_rocket은 스프라이트입니다.

내 아이폰에서 실행하면 진동이 같은 곳에서 나는 위 또는 아래로 이동할 수 없습니다. 뭐가 문제 야?

답변

1

이 코드 position.x에 따라 대신 int newPos = (int)(valueX + _rocket.position.x);

int newPos = (int)(valueX + _rocket.position.y);
을 시도하는 것은 항상 int newPos = (int)(valueX + _rocket.position.x); 작동하지 않는 이유 (100) 입니다.

+0

감사합니다. 하지만 아이폰을 앞뒤로 기울일 때 움직입니다. 좌우로 기울일 때 (세로 모드에서) 이동하려면 어떻게해야합니까? –

+0

나는 그것을 테스트하기 위해 지금 맥과는 다르다.하지만 나는 똑같은 것을 시도해야한다고 생각한다. position.y 대신 position.x에 대해 – K1laba

+0

아! 정말 고마워! –

관련 문제