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

时间:2009-02-19 09:10:52

标签: iphone cocoa-touch

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

有谁能告诉我这是什么问题?

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次游戏。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

tapView是我不断点击的视图。

当我FALSE时,它可以正常工作。

tapView.multipleTouchEnabled = FALSE;

我完全不知道怎么做。但它确实有效。

感谢您的回复。

答案 2 :(得分:0)

尝试查找任何内存泄漏。也许iPhone必须经常使用虚拟内存。