2013-02-19 46 views

回答

23

提起DisplayObject向前插入後只是用這樣的:

stage.setChildIndex(displayObject, stage.getNumChildren()-1); 
+0

謝謝@stot。這些createjs階段方法與舊版Flash相同。對於那些使用Adobe Animate的人來說,這裏的語法就像這個stage所指的那樣:'this.setChildIndex(my_movieclip,this.getNumChildren() - 1);' – jck 2016-06-06 13:34:37

+0

在新版本中,getNumChildren已被棄用。你現在可以直接調用屬性numChildren。資料來源:http://createjs.com/docs/easeljs/classes/Container.html#method_getNumChildren – zozo 2016-10-14 09:33:39

2

The Canvas API has no built-in scene graph。一旦被繪製出來,它被繪製的事實就被遺忘了,並且沒有任何與畫布相關的對象的引用。這意味着,如果對象發生變化,整個畫布可能需要重新繪製。因此,如果您需要在Graphics對象頂部繪製Shape對象,則只需在繪製Shapes之前繪製圖形即可。每次重繪圖形時都需要重繪形狀。

您也可以將圖形和圖形放入Container,並使用容器的indices來控制對象的渲染順序。


編輯:由於@stot's answer指出,事實證明,舞臺本身可以用來管理子指數。這是因爲Stage擴展了Container類,因此繼承了該類的方法。

+2

事實上,setChildIndex,的addChild和addChildAt的API將幫助你做到這一點。 – Lanny 2013-02-22 21:47:04

+0

可以使用stage.setChildIndex(..)設置其索引,請參閱@stot answer – Glogo 2015-07-07 18:57:36