2013-04-01 36 views
3

我正在使用名爲RealBaseball的iPhone應用程序。如果您熟悉RealSoccer,則非常相似。它可以讓你與世界各地的朋友一起玩iPhone棒球。爲什麼我的iOS事件以錯誤的順序觸發?

當你點擊iPhone屏幕與導電蝙蝠,它應該首先檢測觸摸事件,然後檢測加速度,所以它知道什麼時候你打它,以及如何努力,如何快速。

這是我遇到的一些技術難題。我有標準touchesBegandidAccelerate的聽衆。問題是didAccelerate正在touchesBegan之前發射。顯然,有些事情是錯誤的,因爲它不應該在蝙蝠接觸它之前開始加速。我能否遺漏設置代碼?

我需要解決這個問題,因爲如果時機不對,在另一端的擊球機將laggy,而且不會有任何樂趣。

您提供的任何建議,將不勝感激。

編輯:我加了一些NSLog的帶格式[[NSDate date] timeIntervalSince1970];調用下面是輸出:

didAccelerate: 1364850400.03221 
touchesBegan: 1364850400.21486 

所以你可以看到這是一個小而明顯的區別。

+1

你可以把一些調試語句,並在這裏或引擎收錄或東西列出輸出?我想我有預感有什麼不對,但一些堅實的事實從未受到傷害:) – Milimetric

+0

@Milimetric,好主意,編輯。 –

+0

手機是放在平坦的表面上,還是手中握着它?此外,您是否嘗試使用CoreMotion框架並從CMLogItem類讀取timestamp屬性? – Lefteris

回答

2

你是如何確保蝙蝠從手機閉合導電電路,以你的手?我建議大量使用用於使手套觸摸屏友好的材料。這裏推薦使用銀絲尼龍:http://www.howtogeek.com/130477/diy-touch-screen-mod-makes-regular-gloves-smartphone-friendly/

更新:哦,你可能需要放大蝙蝠會遇到的非常微小的電流,因此它可以一直移動到你的手中。我不是電工,但通過同一線程連接到蝙蝠的便攜式汽車電池應該能夠做到這一點。

+0

謝謝!我嘗試了汽車電池技術,讓我們只是說我不再關心我的原始問題。 –

相關問題