2009-02-19 92 views
4

在我的遊戲中,如果我多次玩特定的遊戲,我的觸摸需要更多的時間來檢測。 它存儲所有觸摸,然後同時應用這些觸摸。爲什麼檢測觸摸變得越來越慢?

有人可以告訴我有什麼問題嗎?

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

回答

0

嘗試尋找任何內存泄漏。也許iPhone必須使用很多虛擬內存。

1

您可能會通過此工作通過此tutorial瞭解如何使用泄漏儀器。這是Xcode附帶的Instruments套件的一部分,它將幫助您跟蹤應用程序中的內存泄漏和一般性能問題。

1

我找到了解決我的問題的方法。在我的遊戲中,我啓用了tapView.multipleTouchEnabled = TRUE

tapView是我不斷點擊的視圖。

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

tapView.multipleTouchEnabled = FALSE; 

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

感謝您的回覆。