有沒有人有一個好的方法來管理actionscript 3項目中的顯示列表的建議?目前我正在構建一個應用程序,並跟蹤所有需要顯示並重新排序的模塊已變得笨拙。 我已經加載了swfs和實例化的類,這些類也加載在swfs,圖像和視頻中。我應該只參考舞臺上的一切嗎?我應該如何跟蹤顯示樹?我怎麼總是強制一個特定的模塊到樹的頂端?在actionscript 3應用程序中顯示列表管理
回答
我使用容器DisplayObject,並讓每個DisplayObject管理其直接的孩子(父母告訴孩子要做什麼)。通常你可以將你的顯示列表分成自然的「圖層」,可以放在自己的容器中。
這種方式主容器不必改變深度,所以你知道添加到舞臺上的最後一個容器將在最上面。
也要強制DisplayObject到顯示列表的頂部,只需使用addChild(即使它已被添加)。這會將其添加到列表的頂部。
使用容器是最好的選擇。容器是你的朋友。
使用addChild()強制列表頂部的內容有效,但如果必須在代碼中執行5萬次以上操作,可能會非常困難,而且更重要的是,當您得到多個需要保留的內容時無論如何,頂上。
所以,我做的是我創造我的文檔類中的「優先深度棧」陣列,而我加我想要的一切「頂部」所有的時間,不管什麼,只要我做任何公然階段的工作,例如作爲一個主要的顯示對象的切換,我只是使用一個名爲「RunDepthStack」的方法,它遍歷數組並重新添加數組中的所有內容。
你甚至可以得到有關它極爲元和對象添加到數組,甚至沒有必要在舞臺上通過調用
object.parent.addChild(object);
這將使你與一個不論其容器的管理優先的DisplayObject單一的超級方法...
現在,如果你有一個非常複雜的用戶界面,你將不得不更細粒化,但我不認爲這是你的問題。
我喜歡這個想法,你有一個如何實現它的例子嗎?謝謝;-) – martin 2009-11-05 12:34:33
邊幹邊幹!沒有人教過我,黑道。 – 2009-11-05 13:45:54
我真的不喜歡讓孩子告訴父母該做什麼的想法! – 2009-11-05 22:45:21
如果應用程序很大,我會在用戶與應用程序交互時使用addChild/removeChild。
但是,如果它相當小,簡單的可見真/假很好。
聽起來像你是在第一種情況。
但是,絕對使用類/對象作爲您的站點地圖,用於填充您的導航,跟蹤模塊引用,用戶所在的位置以及可用於深度鏈接的位置。
至於深度交換,我假設你正在談論的視覺深度,實現之間的這些:)
setChildIndex(example,0); // send to back
setChildIndex(example,numChildren - 1); // bring to front
交換:
setChildIndex(example, otherindex) //pushes the other thing forward
:
var otherindex = getChildIndex(theotherthing);
那件事的背後
前面:
setChildIndex(example, otherindex + 1);
HTH。
- 1. 在多顯示器應用程序中的表格管理
- 2. 在管理中不顯示django應用程序
- 3. 在Django管理站點中未顯示的應用程序
- 4. Flash(ActionScript 3):如何構建遠程處理應用程序
- 5. 在MVC 3應用程序中爲用戶管理角色
- 6. Django應用程序不會顯示在管理員
- 7. 應用程序不會顯示在Django管理員
- 8. FlexBuilder 3 - 僅限ActionScript - AIR應用程序
- 9. 如何在asp.net mvc 3應用程序中管理視圖管理
- 10. TextField無法在Actionscript 3中顯示
- 11. GooglePlay - 應用程序正在顯示在列表中
- 12. BIRT - 驅動程序不顯示在管理驅動程序中
- 13. 在C#應用程序中,Windows在何處顯示任務管理器中顯示的進程名稱?
- 14. ActionScript 3沒有顯示jpg
- 15. Actionscript AIR +顯示列表中的文件
- 16. 應用程序不能在iCould「管理存儲」列表
- 17. 在Web應用程序中管理EntityManagerFactory
- 18. Facebook應用程序在jsp中顯示好友列表
- 19. UIDocumentInteractionController - 我們自己的應用程序顯示在列表中
- 20. 如何在Cocoa應用程序中顯示文件列表?
- 21. 在Android應用程序中搜索列表並顯示答案
- 22. 如何在iPhone應用程序中顯示Wifi網絡列表?
- 23. 在Java應用程序中顯示來自網站的列表
- 24. 反序列化在ActionScript 3中
- 25. facebook sdk 3移動應用程序在actionscript中安裝廣告
- 26. 在actionscript 3中運行hello world應用程序(flash pro CS5.5)
- 27. 如何在actionscript 3中創建有序和無序的列表?
- 28. 從移動應用程序調用文件管理器列表
- 29. 如何添加管理員在rails 3應用程序
- 30. 如何在RCP應用程序中顯示Windows文件資源管理器?
這似乎是一個很好的startegy,謝謝;-) – martin 2009-11-05 12:33:51