EaselJS/画布 - 如何在绘制图形A之后绘制图形B,使图形B位于图形A“下方”

3
我已经在制作这个游戏几天了,现在我面临的最后一个问题是:当玩家移出移动区域的边界(见下图)时,“线条”会在他身后画出来-他会产生某种墙壁(见图片上的箭头)。之后,他可以在这堵墙上移动,但你看不到玩家(小红色矩形),直到他向右移动(在这种情况下)到白色区域。
你可以看到,当玩家位于灰色边界墙上时,他是可见的,但这些墙是在玩家创建之前创建的。我应该如何更改渲染方式,以便能够在绘制玩家之后看到他所在的区域?我需要重新绘制所有内容才能得到需要的效果吗?
任何建议都会受到高度赞赏。如果我表述不清,请让我知道,这样我就可以更好地解释。
谢谢

也许在插入播放器时使用AddChildAt而不是AddChild可以完成这个任务。 - GameAlchemist
哇!我实际上将stage.addChild(rect)更改为stage.addChildAt(rect,0),对于我绘制的每个矩形(线由矩形组成),它起作用了!将此发布为答案,我可以接受它! - trainoasis
我甚至不知道 addChildAt 这个函数的存在。你用什么样的文档来查阅这类内容? - trainoasis
1个回答

2
EasleJs默认会按照提供对象的顺序将它们堆叠起来。
但是,您可以使用AddChildAt来控制对象的“z”并避免此问题。 由于绘制顺序是必须在舞台(而不是子级)级别处理的内容,请查看官方文档Stage:
http://createjs.com/Docs/EaselJS/classes/Stage.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接