나는 가속도계를 사용하여 아이폰 게임을하고있다. 아직 Apple 개발자 프로그램 사용자가 없으므로 내 장치에서 테스트 할 수 없으므로 화면에서 탭하는 위치에 따라 가속도계 값을 게임에 제공하려고합니다.액셀러레이터 입력을 화면 터치 컨트롤로 바꾸기
내가 뭘하려고 했는가 : 중간 지점에서 화면 중간을 보려고 시도했지만 중간 지점에서 탭의 오프셋은 가속도계의 XY가됩니다. 나는이 값이 1을 넘을 것이고 필요한 값은 1에서 -1까지이므로 작업을하기 위해 많은 노력을 기울였습니다. 나는 종종 가까이에 있었지만 일할 수 없었다. 중간 점까지의 거리가 100 개 이상의 경우
또한, 당신은, SQRT (DX DX + DY DY), 다음이 100의 거리가 대신 걸릴 것 알고 (, 한계가있을 싶어 . 193이나 뭐 같은
여기 내 코드는 지금까지의 :
- (void) ccTouchesMoved: (NSSet *)touches withEvent: (UIEvent *)event
{
if(IS_SIMULATOR)
{
for(UITouch *touch in touches) {
CGPoint location = [[CCDirector sharedDirector] convertToGL: [touch locationInView: [touch view]]];
CGFloat dx = location.x - middleOfScreen.x;
CGFloat dy = location.y - middleOfScreen.y;
CGFloat d = sqrtf(dx*dx+dy*dy);
CGFloat a = atan2(dy, dx);
CGFloat accX = /*acceleration value x*/
CGFloat accY = /*acceleration value y*/
//[mlRef setAcceleration: ccp(accX, accY)];
}
}
}
내가 도와주세요, 당신은 내가 원하는 것을 이해 바랍니다 :)
또한, 사람이, 아니 내가 돈을 권장하지 전에. 집에서 사용하지 않는 iSimulate를 사용하고 싶지 않습니다. 그것. :(