canvas - 使用 easeljs/canvas 删除 Shape 对象

标签 canvas easeljs

我正在开发一款游戏并遇到了一个问题:我不知道如何从 Canvas /舞台上删除一个 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() 删除部分舞台,但这不是我想要的。 我有一个有效的子弹碰撞检测,但不知道如何在需要时在 Canvas 上摆脱它们。

我也试过 stage.removeChild(bullet);但这似乎不起作用?如果我仅将这些对象放在数组中,我将如何使用 removeChild?

欢迎提出任何建议/意见! 如果我不够清楚,请告诉我更新问题:)

谢谢

最佳答案

我想通了;不知道你能做到这一点。 我只是在循环中使用 stage.removeChild(bullet) 遍历所有项目符号,如下所示:

stage.removeChild(bullets[i]);

这很有趣,因为我认为你必须将 child 的名字传递给这个方法,但显然我错了;你传递了实际的对象,就是这样。

关于canvas - 使用 easeljs/canvas 删除 Shape 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20888252/

相关文章:

javascript - canvas drawImage 第一次不绘制图像

javascript - 使用 easeljs/createjs 隐藏光标

javascript - 简单的 SVG 路径不起作用

javascript - html5 Canvas 工具提示仅对最后绘制的对象可见,对以前的对象不可见

javascript - 在使用 JSON 创建的游戏中添加多个级别

javascript - 在 Canvas 上旋转 2 个图像

javascript - Easel.js stage.clear() 不工作

javascript - 使用纹理图集和 EaselJs

javascript - 使用 easeljs/canvas/javascript 围绕它的中心旋转图像,同时图像保持在起始位置