2012-03-07 34 views
1

我正在使用cocos2d。我希望能夠檢測屏幕在特定時刻是否被觸摸 - 也就是說,不是在發生事件時攔截事件,而是希望在特定時刻檢測到觸摸的存在。沒有事件處理的觸摸檢測

原因是我在動畫製作精靈,並且想要確定精靈是否應該繼續移動 - 如果屏幕仍然被觸摸。我無法使用ccTouchesEnded,因爲每次動畫開始時,我都將isTouchEnabled設置爲false,因爲我也希望用戶能夠在屏幕上快速點擊以移動精靈,但是如果它們點擊得太快,就會與精靈的位置混亂在動畫過程中 - 我發現以奇怪的方式將我的對象的位置擰緊。

這可能嗎?

回答

1

除了在主UI運行循環中啓用和接收這些事件外,似乎沒有任何公共API檢測觸摸。

您可以繼續處理事件,並設置模型對象或全局變量中最後一次觸摸事件留下的狀態。然後,您可以隨時輪詢您應用的內部狀態。

如果事件時間戳太接近某些動畫開始時間,您可以讓觸摸處理程序不做不適當的事情。

+0

我試過使用計時器來處理動畫的同步,但我發現它不可能得到完全正確的時間。我還使用了一些全局變量來處理和動畫,我告訴觸摸處理程序在處理(重複觸摸)或動畫(觸摸並按住)時不要動作,但不知何故它看起來不起作用。我會更仔細地審視這個邏輯並發表另外一個問題。謝謝。 – 2012-03-07 10:46:43