2011-09-03 18 views
0

我的問題與前面提到的有關像this這樣重疊的子畫面/動畫片段的一些問題有點相似。但我的要求與他們稍有不同。如何在flash/flex中遮擋(重疊)顯示對象上處理鼠標事件?

我想處理舞臺上所有精靈的mouseevents,包括那些隱藏在後面(或重疊或遮擋)的精靈,主要條件是我想處理遮擋的精靈(隱藏在其他精靈之後) 。例如,假設我在舞臺上有sprite1和sprite2,並且我想在每次點擊精靈並在另一次單擊之後停止拖動時開始拖動。

這可以很容易地完成,但問題和我的主要要求是,如果我拖動sprite1並將其完全放在sprite2的頂部,那麼sprite2將隱藏在sprite1的後面我將無法拖動sprite2而無需首先移動sprite1。如果你在Facebook上玩過zynga的帝國和allais遊戲,它將被分開處理,它在遊戲中的工作方式,鼠標事件在重疊精靈後面的精靈上觸發,如果你有兩個精靈重疊一個精靈而不是鼠標事件在最後一個精靈上觸發,而不是前一個精靈觸發,無論是否只有一個精靈重疊或兩個或三個,這發生在不規則形狀的精靈(不只是矩形)

如果任何人可以給我打在如何Zynga的可能已經實現了這個,或者幫助我瞭解如何才達到它這將是很大的幫助

感謝

回答

0

一種可能性是,日電子遊戲不會收聽來自每個獨立精靈的點擊事件。

編程遊戲時,你經常實現一個網格系統。如果是這樣的話,程序員會記錄下所有精靈在網格中的位置。然後,程序員可以監聽整個網格渲染器的點擊,並通過參照網格記錄的鼠標位置來計算出所選對象。