我在画布上有EaselJS形状,然后我开始绘制图形每个勾号。此刻图形正在绘制在形状上。有没有办法定义z-index,以便在每个图形上绘制图形?我如何设置EaselJS图形和形状的z-index
任何帮助将不胜感激。
我在画布上有EaselJS形状,然后我开始绘制图形每个勾号。此刻图形正在绘制在形状上。有没有办法定义z-index,以便在每个图形上绘制图形?我如何设置EaselJS图形和形状的z-index
任何帮助将不胜感激。
提起DisplayObject
向前插入后只是用这样的:
stage.setChildIndex(displayObject, stage.getNumChildren()-1);
The Canvas API has no built-in scene graph。一旦被绘制出来,它被绘制的事实就被遗忘了,并且没有任何与画布相关的对象的引用。这意味着,如果对象发生变化,整个画布可能需要重新绘制。因此,如果您需要在Graphics对象顶部绘制Shape对象,则只需在绘制Shapes之前绘制图形即可。每次重绘图形时都需要重绘形状。
您也可以将图形和图形放入Container,并使用容器的indices来控制对象的渲染顺序。
编辑:由于@stot's answer指出,事实证明,舞台本身可以用来管理子指数。这是因为Stage扩展了Container类,因此继承了该类的方法。
谢谢@stot。这些createjs阶段方法与旧版Flash相同。对于那些使用Adobe Animate的人来说,这里的语法就像这个stage所指的那样:'this.setChildIndex(my_movieclip,this.getNumChildren() - 1);' – jck 2016-06-06 13:34:37
在新版本中,getNumChildren已被弃用。你现在可以直接调用属性numChildren。资料来源:http://createjs.com/docs/easeljs/classes/Container.html#method_getNumChildren – zozo 2016-10-14 09:33:39