2009-10-04 71 views
0

一個簡單的例子在這裏的不同部位處理UITouches:對於遊戲的Open GL ES iphone

我有一個遊戲,我在OpenGL ES的在寫。遊戲有兩個不同的屏幕,根據用戶的觸摸輸入做完全不同的事情。

什麼是從視圖中抽象出uitouch事件的最佳方式?

我想象,在一個完美的世界的觸摸事件將通過我的遊戲循環進行處理,但由於視圖處理我的觸摸事件,我不知道如何使遊戲循環處理它們。

多個EAGLViews?

處理遊戲中兩個不同屏幕之間的觸摸的最佳方式是什麼?

回答

1

我不明白爲什麼你不能在你的遊戲循環處理觸摸。只需將觸摸事件記錄到視圖觸控處理程序中的數據結構(列表或其他)即可。然後在遊戲循環中只處理記錄到數據結構中的事件。只要確保一次只有一個線程更改數據結構。

如果在遊戲循環中更簡化的數據足夠多,甚至不需要記錄事件。在簡單的情況下,你可以只更新在觸摸處理器一樣touchX,暴躁touchState變量(無,開始,移動,結束),並在遊戲中循環讀取這些變量。在這種情況下,您可能需要確保遊戲循環能夠以合理的方式對開始和結束事件做出反應。 IE瀏覽器。開始和結束的狀態應該始終持續一刻。