2012-01-11 45 views
0

我正在android中使用andengine製作遊戲,在這個遊戲中,各種精靈(蛋)在屏幕上來回移動。我想要獨立地獲取每個精靈的觸摸事件,有時當一個精靈在另一個精靈之上,那麼onAreaTouched()會給出兩個精靈的觸摸事件,如果我在這裏返回false或super.onAreaTouched(),如果我在這裏返回true,那麼一個精靈在註冊另一個區域精靈無法給觸摸事件在遊戲中使用andengine獲取適當的觸摸事件在遊戲中的多個精靈

那麼什麼纔是合適的方式來獲得只有上面顯示的精靈的觸摸事件。

回答

1

您可以使用的另一種方法是IOnSceneTouchListener,使用onSceneTouchEvent方法。您可以從pTouchEvent參數中獲取X & Y,並檢查是否有任何精靈包含它。

現在,如果你不知道,每個實體都有一個孩子的列表(而你的場景是一個實體)。 當一個實體吸引自己時,它也會調用子女的繪製方法。兒童的繪畫方法從第一個孩子的方法被調用到最後(作爲他們在列表中的順序);因此,列表中的第一個孩子首先被繪製。最後一個是最後繪製的。 所以最後一個將總是覆蓋它繪製的任何其他實體。

因此,從最後一個孩子到第一個孩子迭代場景兒童列表。如果任何精靈包含觸摸點,讓它處理該事件,並且返回true以表示您消耗了該事件。

+0

謝謝jong我會試試看。 – 2012-01-16 10:01:43