0

(注意:为了澄清,“取消选择”是指选择当前选择的形状以外的其他形状,从而取消选择最初选择的形状)

为了详细说明,我在画布上画了一系列形状。我单击的任何形状都会将其颜色从红色变为白色。但是,在任何给定时间只能有一个白色形状。这意味着,如果我先点击 shape-A 然后点击 shape-B,则在点击 shape-B 的那一刻,shape-A 的颜色必须从白色变回红色。

为每个形状添加一个“点击”事件监听器是一件轻而易举的事。但是,我不知道如何指向之前的形状对象,以便恢复其原始颜色。

任何帮助都感激不尽!


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

4

1 回答 1

0

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

您所要做的就是在单击侦听器中设置对单击对象的(全局)引用,我将其称为window.lastClickedShape或类似的名称。每当单击形状时,您都会检查是否lastClickedShape != null并重置该对象的颜色。

于 2013-06-28T12:32:59.123 回答