2014-02-19 85 views
0

我正在创建一个游戏,并且当前如果您触摸屏幕的左半边,则枪会顺时针旋转,如果触摸屏幕的右半边,则会进行拍摄。iOS一次检测到多个触摸

我想创建一个动作,以便如果我触摸屏幕的左半部分,它将顺时针旋转,如果您触摸右半部分则逆时针旋转。这很容易。

如果我在同一时间触摸左右两侧,我想要拍摄。这怎么可能同时检测2个触摸。

这是因为,如果触摸的右半

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint touchPoint = [touch locationInView:self.view]; 

    if (touchPoint.x < self.size.width/2.0) { 
     isTouching = true; 
    } 
    else 
     [self setupBullet]; 
} 
当触摸左半边和拍摄顺时针旋转代码
+0

[触及allObjects]? –

回答

1

你要么需要设置两个不同的对象,在他们各自的侧面触摸事件收听,或您可以使用event.allTouches对象并获取当前所有触摸对象的完整阵列,并按照您的意愿处理该阵列。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    //either: 
    if(touch in left side) 
    { 
     //Left side touch down, create object 
    } 
    else 
    { 
     //Right side touch down, create object 
    } 

    //Or: 
    NSArray *arrayOfAllTouches = event.allTouches; 
    //Now loop through that array and see what is going on on screen 
} 

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    //either: 
    if(touch in left side) 
    { 
     //Left side release, release object 
    } 
    else 
    { 
     //Right side release, release object 
    } 

    //Or: 
    NSArray *arrayOfAllTouches = event.allTouches; 
    //Now loop through that array and see what is going on on screen 
}