EaselJS:取消选择时改变形状颜色

时间:2013-06-27 03:31:07

标签: shape addeventlistener easeljs

(注意:只是澄清一下,“取消选择”是指选择其他形状而不是当前选择的形状,从而取消选择最初选择的形状)

为了进一步阐述,我在画布上得到了一系列形状。我点击的任何形状都会将其颜色从红色变为白色。但是,在任何给定的时间,只能有一个白色的形状。这意味着,如果我先点击形状-A然后再变形B,那么当我点击形状B时,形状A的颜色必须从白色变回红色。

为每个形状添加“click”事件监听器是不言而喻的。但是,我不知道如何指回前一个形状对象,以便我可以恢复其原始颜色。

非常感谢任何帮助!


更新:经过进一步的研究,我开始认为我的目标归结为这一点 - 找到一种方法指向任何Shape对象,而不是通过一些事件监听器,而是通过方法调用传递对象的ID。但是,我刚刚检查了Shape类方法here,但没有看到任何可能有用的东西。我可以在这里遗漏一些东西吗?

1 个答案:

答案 0 :(得分:0)

(我希望我理解正确) 您的“问题”更多的是程序流问题,并不是特定于画架或任何ObjectType。

您所要做的就是在点击监听器中设置对所点击对象的(全局)引用,我称之为window.lastClickedShape或类似的东西。每当单击一个形状时,检查是否lastClickedShape != null并重置该对象的颜色。