我正在使用名爲RealBaseball的iPhone應用程序。如果您熟悉RealSoccer,則非常相似。它可以讓你與世界各地的朋友一起玩iPhone棒球。爲什麼我的iOS事件以錯誤的順序觸發?
當你點擊iPhone屏幕與導電蝙蝠,它應該首先檢測觸摸事件,然後檢測加速度,所以它知道什麼時候你打它,以及如何努力,如何快速。
這是我遇到的一些技術難題。我有標準touchesBegan
和didAccelerate
的聽衆。問題是didAccelerate
正在touchesBegan
之前發射。顯然,有些事情是錯誤的,因爲它不應該在蝙蝠接觸它之前開始加速。我能否遺漏設置代碼?
我需要解決這個問題,因爲如果時機不對,在另一端的擊球機將laggy,而且不會有任何樂趣。
您提供的任何建議,將不勝感激。
編輯:我加了一些NSLog的帶格式[[NSDate date] timeIntervalSince1970];
調用下面是輸出:
didAccelerate: 1364850400.03221
touchesBegan: 1364850400.21486
所以你可以看到這是一個小而明顯的區別。
你可以把一些調試語句,並在這裏或引擎收錄或東西列出輸出?我想我有預感有什麼不對,但一些堅實的事實從未受到傷害:) – Milimetric
@Milimetric,好主意,編輯。 –
手機是放在平坦的表面上,還是手中握着它?此外,您是否嘗試使用CoreMotion框架並從CMLogItem類讀取timestamp屬性? – Lefteris