2011-12-16 84 views
1

有沒有辦法改變cocos2d iOS精靈的觸摸優先級?我的屏幕上有多張卡片,它們排成一條弧形,就像將它們握在手中一樣。所以在這個設置中,它們重疊,我需要識別觸摸是在哪張卡上製作的。我可以測量每張卡片頂點的座標並確定卡片的可見區域,然後檢查是否在該區域內進行了觸摸(不是嗎?),但我認爲會有更簡單的方法來處理這個問題,說改變觸摸優先級?這意味着最靠近屏幕的卡片具有最高的優先級,並且它會一直保持減少到背景中,因此即使一次觸摸2個精靈(上下),它也會只在優先級更高的精靈上註冊。如何更改重疊精靈的觸摸優先級

閱讀在互聯網上唯一透露的方式來更改優先級的精靈和層,它定義了觸摸是否在層或遊動上進行,但是這不是我想要的。

回答

0

據我所知,在默認情況下你正是這樣的行爲,更接近(在z AX)的精靈給你有優先權。不過,我認爲他們也把事件傳遞給了他們。所以,我認爲你需要做的就是在事件到達任何你的精靈時吃掉事件。要做到這一點,只需在覆蓋「touchBegin」方法時返回NO。希望能幫助到你。

+0

嘿,非常感謝。我做了類似的事情,當觸摸已經被檢測到時,我剛剛在touchBegan中返回TRUE,以便觸摸不會進一步降低,因爲只要返回語句執行時函數就會結束。 – Prst 2011-12-17 12:55:24