플레이어가 화면의 팬 스택에서 보드의 4x4 필드로 카드를 탭하고 끌어서 놓으려고합니다. 내 카드는 UIImageView 클래스에서 상속 된 사용자 정의 클래스에서 인스턴스화됩니다.드래그 가능한 카드 (터치 열거 형) 문제
나는 Touches 샘플 앱으로 시작했고 이벤트 핸들러를 터치하여 수정하여 샘플 앱에서 화면 이동을 허용하는 3 개의 사각형 대신 플레이어의 카드 대신 반복되도록했습니다. 모든 것이 작동하기 전까지는 카드를 다른 카드 근처로 드래그합니다. 나는 카드가 올바르게 동작하도록하기 위해 여기에 공란을 그리는 중이다. 여기 내 코드는 다음과 같습니다
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSUInteger numTaps = [[touches anyObject] tapCount];
if(numTaps = 1) {
for (UITouch *touch in touches) {
[self dispatchFirstTouchAtPoint:[touch locationInView: self.boardCardView] forEvent:nil];
}
}
}
-(void) dispatchFirstTouchAtPoint:(CGPoint)touchPoint forEvent:(UIEvent *)event
{
for (int i = 0; i<5; i++)
{
UIImageView *touchedCard = boardBuffer[i];
if (CGRectContainsPoint([touchedCard frame], touchPoint)) {
[self animateFirstTouchAtPoint:touchPoint forView:touchedCard];
}
}
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSUInteger touchCount = 0;
for (UITouch *touch in touches){
[self dispatchTouchEvent:[touch view] toPosition:[touch locationInView:self.boardCardView]];
touchCount++;
}
}
내 질문은 :
어떻게 내가 끌어 손가락에 의해 선택되는 다른 카드를 허용 할 수있는 터치 논리를받을 수 있나요?
어쨌든 플레이어의 손가락 바로 아래에있는 개체 만 열거하고 다른 개체가 응답하지 않도록 명시 적으로 설정할 수 있습니까?
고마워요!
또한 터치 앱을 여러 가지 터치의 처리를 보여주기 위해 디자인 된 것 외에는 살펴 보지 않았습니다. 카드 게임이 런치 포인트로 해당 코드를 사용해야하는지 확신 할 수 없습니까? 화면의 특정 위치에서 다른 위치로 카드를 드래그하는 것에 정말로 관심이 있다면 MoveMe 앱을 확인하십시오. 매우 간단하며 여러 손가락 및 탭을 다루기 전에 단일 터치 이벤트를 이해하는 데 도움이됩니다. – Meltemi