2013-06-23 3 views
0

ccTouchesBegan의 NSSet이 두 개 이상의 터치를 포함 할 수 있는지 궁금합니다. 몇 가지 테스트를 수행했으며 터치 횟수는 항상 1입니다.iOS : ccTouchesBegan에 둘 이상의 터치가 포함될 수 있습니까?

누구나 확인할 수 있습니까? 원터치 만 있으면 왜 세트가 있을까요? 밖으로

-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

답변

1

확인이 여기

-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    NSSet *set = [event allTouches]; 

    if (set.count == 1) { //first touch 

    } 
    if (set.count == 2) { //second touch 
    } //etc. 
1

당신은 친구를 이동합니다.

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch =[[[event allTouches] allObjects] lastObject]; 

    //NSLog(@"touchesBegan ..."); 

    switch ([touch tapCount]) 
    { 
     case 1: 
      [self performSelector:@selector(oneTap) withObject:nil afterDelay:.5]; 
      break; 

     case 2: 
      [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(oneTap) object:nil]; 
      [self performSelector:@selector(twoTaps) withObject:nil afterDelay:.5]; 
      break; 

     case 3: 
      [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(twoTaps) object:nil]; 
      [self performSelector:@selector(threeTaps) withObject:nil afterDelay:.5]; 
      break; 

     default: 
      break; 
    } 

}; 



- (IBAction)oneTap 
{ 
    NSLog(@"oneTap ..."); 


} 
- (IBAction)twoTaps 
{ 
    NSLog(@"twoTaps ..."); 


} 

- (IBAction)threeTaps 
{ 
    NSLog(@"threeTaps ..."); 

}