14

我在画布上有 EaselJS 形状,然后我开始在每个刻度上绘制图形。目前,图形正在形状上绘制。有没有办法定义 z-index 以便在每一帧的图形上绘制形状?

任何帮助将非常感激。

4

2 回答 2

28

DisplayObject在插入后将一个放在前面,只需使用以下命令:

stage.setChildIndex( displayObject, stage.getNumChildren()-1);
于 2014-12-17T21:44:19.283 回答
2

Canvas API没有内置的场景图。一旦绘制了某些东西,它被绘制的事实就被遗忘了,并且没有与画布相关联的对象的引用。这意味着,如果对象发生更改,则可能需要重新绘制整个画布。

因此,如果您需要在 Graphics 对象之上绘制 Shape 对象,只需在绘制 Shapes 之前绘制 Graphics。每次重绘图形时都需要重绘图形。

您还可以将 Shapes 和 Graphics 都放入Container中,并使用 Container 的索引来控制对象的呈现顺序。


编辑:正如@stot 的回答所指出的,事实证明舞台本身可用于管理子索引。这是因为 Stage 扩展了 Container 类,因此继承了该类的方法。

于 2013-02-19T18:59:23.060 回答