为什么检测触摸变得越来越慢?

问题描述:

在我的游戏中,如果我多次玩特定的游戏,我的触摸需要更多的时间来检测。 它存储所有触摸,然后同时应用这些触摸。为什么检测触摸变得越来越慢?

有人可以告诉我有什么问题吗?

touchesBegan我写道:

if (CGRectContainsPoint([tapView frame], [touch locationInView:self]) 
    && tapView.alpha == 1) { 
    [self callTapCode]; 
} 

这是touchesEnded的代码。如果我敲击并释放敲击,它会显示一个敲击事件。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    if (checkTap == TRUE && tapView.alpha == 1) 
     tap_effect_view.alpha = 0; 
} 

- (void)callTapCode { 
    // Move player code by 6 pixels 
    // not possible to write all code 
} 

tapView我连续点击。 callTapCode将播放器移动六个像素。但过了一段时间,我的触觉发现非常缓慢,以至于玩家看起来像在跳跃。我连续玩了15到16次。

+0

您是否有简化的代码示例来演示该问题的基本元素? – mmcdole 2009-02-19 09:33:28

+0

在我的touchesBegan写 如果(CGRectContainsPoint([tapView帧],[触摸locationInView:自])&& tapView.alpha == 1) \t { \t \t [自callTapCode]; \t} 在tapView我不断点击。 callTapCode方法将用户播放器移动六个像素。但过了一段时间,我的触觉发现非常缓慢。 – Jyotsna 2009-02-19 09:41:47

+0

所以玩家看起来跳跃。我连续玩了15到16次 – Jyotsna 2009-02-19 09:42:38

尝试寻找任何内存泄漏。也许iPhone必须使用很多虚拟内存。

您可能会通过此工作通过此tutorial了解如何使用泄漏仪器。这是Xcode附带的Instruments套件的一部分,它将帮助您跟踪应用程序中的内存泄漏和一般性能问题。

我找到了解决我的问题的方法。在我的游戏中,我启用了tapView.multipleTouchEnabled = TRUE

tapView是我不断点击的视图。

当我做到了FALSE它的工作原理。

tapView.multipleTouchEnabled = FALSE; 

我正好不知道如何。但它的工作。

感谢您的回复。