2011-01-28 5 views
1

Xcode에서 간단한 pong 게임을 만들고 있습니다. 나는 2 명의 선수 버전을 가지고 있고, 패들은 움직일 수 있고, 완전하게 작용할 수있다. 이 게임은 당신이 두 패들을 동시에 움직일 수 없다는 사실을 제외하고는 완벽합니다. 2 플레이어 모드는 쓸모 없게 만듭니다.게임에서 멀티 터치를 사용 하시겠습니까?

두 패들을 동시에 이동할 수있게하려면 어떻게해야합니까? 인터페이스 빌더에서 "Multiple Touch"버튼을 선택하려고 시도했지만 아무 것도하지 않고 원하는대로 멀티 터치를 가능하게하는 올바른 경로인지 확신 할 수 없습니다.

또한 내 게임은보기 기반 응용 프로그램입니다.

감사합니다.

답변

1

제 경험상 (그다지 중요하지 않습니다). 2 개의 패들에 대해 2 개의 UIView를 생성 할 수 있습니다. 하나의 뷰를 터치하면 하나의 패들이 이동하고 다른 하나를 터치하면 다른 패들이 이동합니다. 이게 도움이 되길 바란다. 당신의 의견을 분할하는 방법을 모르는 경우

, 당신은 단순히 아마 가장 생산적인 것이 아니라, 2 터치

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
UITouch *touch1 = [[event touchesForView:zone1] anyObject]; 
UITouch *touch2 = [[event touchesForView:zone2] anyObject]; 
if (touch1) 
    touchOffset1 = paddle1.center.x - [touch1 locationInView:touch1.view].x; 
if (touch2) 
    touchOffset2 = paddle2.center.x - [touch2 locationInView:touch2.view].x; 
} 

이 사용할 수를 식별 할 수 있지만,이 경우 작동 하는가 당신은 터치를 나누는 방법을 알아낼 수 없습니다.

+0

흠없는

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { NSArray *touchesArray = [touches allObjects]; NSUInteger nNumTouches = [touchesArray count]; UITouch *touch; CGPoint ptTouch; for (int nTouch = 0; nTouch < nNumTouches; nTouch++) { touch = [touchesArray objectAtIndex:nTouch]; ptTouch = [touch locationInView:self.view]; // Do stuff with the touch } } 

유사 touchesEnded과 기본적으로 –

+0

필자는 위의 코드를 업데이트했으나 가장 좋은 구현은 아닐지도 모르지만 사실상 player1 또는 player2가 패들을 이동하려고하는지 알기 위해 UIView 2 개가 필요합니다. 보기가 1 면만있는 사람은 누구인지 누가 알 수 있습니까? –

1

편집 : 질문을 잘못 읽었습니다. 코드 스 니펫 추가. 이 없음

+0

답장을 보내 주셔서 감사합니다. 그러나 나는 이것을 시도했지만 효과가 없다고 말했습니다. –

+0

죄송합니다. 코드가 세트의 모든 배열을 확인하고 있습니까? – Dave

+0

그게 정확히 무슨 뜻입니까? 이것은 내 첫 번째 진짜 애플 리케이션 btw ... 고마워! –

0
self.view.multipleTouchEnabled = YES; 

을있는 touchesMoved : 나는 touchesBegan 이벤트를 얻을 때

은 여기에 모든 접촉을 추출하기 위해 사용하는 코드입니다. .. 나는 이것에 확실히 n00b이고 나는 나가 이해하는 경우에 모른다. 두 개의 UIView를 만드는 경우 기존의 패들에 어떻게 추가합니까?

관련 문제