在我的游戏中,如果我多次玩特定游戏,我的触摸需要更多时间来检测。 它存储所有触摸,然后同时应用这些触摸。
有谁能告诉我这是什么问题?
在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 :(得分:1)
您可以通过此tutorial了解如何使用泄漏工具。这是Xcode随附的Instruments套件的一部分,它将帮助您跟踪应用程序的内存泄漏和一般性能问题。
答案 1 :(得分:1)
我找到了解决问题的方法。在我的游戏中,我启用了tapView.multipleTouchEnabled = TRUE
tapView
是我不断点击的视图。
当我FALSE
时,它可以正常工作。
即
tapView.multipleTouchEnabled = FALSE;
我完全不知道怎么做。但它确实有效。
感谢您的回复。
答案 2 :(得分:0)
尝试查找任何内存泄漏。也许iPhone必须经常使用虚拟内存。