0

我想知道 ccTouchesBegan 中的 NSSet 触摸是否可以包含多个触摸。我做了一些测试,触摸计数始终为 1。

任何人都可以证实这一点?如果只有一次触摸,为什么会有一套?

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

2 回答 2

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 ...");

}
于 2013-06-23T17:06:49.603 回答
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.
于 2013-06-23T17:01:09.203 回答