0

我正在使用 Cocos2D 进行游戏开发。这是我最近遇到的。

-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
      NSLog(@"Number of touches %d",touches.count);
}

我在 iPod touch 上运行示例应用程序并用两根手指触摸屏幕。第一次触摸时,日志显示“触摸次数 2”,但在第一次触摸后,无论我用多少手指触摸,我都会得到“触摸次数 1”。

我也有水龙头计数的问题。如果我 NSLog 点按计数并触摸屏幕,我会得到以下输出:

The tap count is 1
The tap count is 2
The tap count is 3 
And so on.....

当我三次点击屏幕而不是获得 1、2、3 时,我不应该只获得“点击计数 3”吗?它记录所有的点击,直到最后一个。

我知道并且确信关于触摸的是:

  1. 触摸可以是单点或多点触摸,具体取决于点击屏幕的手指。
  2. Touch 有一个可以为 1 或更高的点击计数属性。

我需要这两种行为才能正常工作,因为我会根据触摸和点击的次数来决定要做什么。

4

1 回答 1

2
NSArray * touchArray = [touches allObjects];
NSLog(@"Number of touches %d",touchArray.count);

上面的代码是如果你这样做,当前有多少触摸是活动的

NSSet *touches= [event allTouches];

您将计算一次触发该方法的触摸次数,例如两指轻敲或三指轻敲

于 2013-07-02T19:10:05.990 回答