2013-03-17 56 views
3

我正在開發一個帶有SurfaceView,SurfaceHolder,Canvas等標準模式的安卓遊戲。在這個遊戲中,我將在畫布上繪製多個位圖,我想知道他們是否被感動了。我意識到我可以覆蓋onTouchEvent()for SurfaceView,並可以線性遍歷所有項目,以確定觸摸座標是否包含我的一個位圖的區域,但我想知道是否可以讓自己的事情變得更輕鬆。如何在SurfaceView上實現項目觸摸

這裏是我的問題: 我可以有類處理從android.View下降的屏幕上繪製我的位圖,將它們附加到我的SurfaceView並註冊它們上的點擊偵聽器,所以我不必經歷確定我自己的點擊?如果我自己將視圖(位圖)繪製到畫布上,點擊偵聽器是否準確?

此外,我是否會因使Android視圖層次結構陷入僵局並讓Android做我不想做的工作而讓我的所有位圖android視圖受到性能影響?

謝謝。

回答

0

如果您想將正常的android視圖附加到SurfaceView,那麼使用SurfaceView會有什麼意義!給你一個SurfaceView,以便你可以自己繪製表面,而不是讓android視圖系統爲你做。所以「你」必須自己跟蹤你的觸動。

您可以參考純粹基於OpenGL的AOSP Gallery2代碼,並將其設計用於處理觸摸。