我正在开发游戏并遇到了一个问题:我不知道如何从canvas / stage中删除一个Shape对象。 例如 - 在一个例子中,我用这段代码添加形状:
var bullet = new createjs.Shape();
bullet.graphics.beginFill("white").drawRect(0, 0, playerSize/5, playerSize);
bullet.x = x+playerSize/2;
bullet.y = y-playerSize;
stage.addChild(bullet);
bullets.push(bullet);
最后一行将形状对象添加到数组中,因此我可以稍后操作每个对象(使用Tick移动项目符号)
现在我想删除某些对象,但我不知道如何:我知道你可以用stage.removeAllChildren()删除部分舞台,但这不是我想要的。 我对子弹进行了碰撞检测,但是在我想要的时候不知道如何在画布上摆脱它们。
我也试过stage.removeChild(bullet);但这似乎没有用?如果我只在数组中包含这些对象,我将如何使用removeChild?
欢迎任何建议/意见! 如果我不够清楚,请告诉我更新问题:)
谢谢
答案 0 :(得分:7)
我明白了;不知道你能做到这一点。 我只是通过所有子弹循环使用stage.removeChild(bullet):
stage.removeChild(bullets[i]);
这很有趣,因为我认为你必须将子名传递给这种方法,但显然我错了;你传递了实际的对象,就是这样。