EaselJS改变颜色onMouseOver

时间:2011-05-12 12:59:38

标签: html canvas mouseover easeljs

在HTML画布元素中多次实现所有与鼠标和矢量相关的信息之后,我切换到了EaselJS。

我已经习惯了EaselJS,它真的很整洁。我特别喜欢容器以及绘制嵌入式形状的简单程度。但是,我无法弄清楚你是如何在鼠标上实现shape的颜色变化的。像矩形一样简单的颜色从红色变为绿色。

我是否应该从容器中移除形状并使用新颜色创建新形状?

更复杂的是,如果一个形状部分遮挡另一个形状,让我们说一个圆圈内的正方形,那么onMouseOver将不会在正方形上注册圆圈。有没有办法解决这个问题。

干杯

编辑:这是我用来绘制圆圈的矢量示例

    var circle=new Shape();
    circle.graphics.beginStroke("rgba(255,0,0,0.75)")
            .setStrokeStyle(lw)
            .drawCircle(w/2,h/2,r)
            .endStroke()
            .beginFill("rgba(255,255,0,0.5)")
            .drawCircle(w/2,h/2,r-lw/2)
            .endFill();
    circle.shadow=new Shadow("rgba(0,0,0,0.5)",10,-10,10)

是否有一种简单的方法可以将新颜色传递给beginFill?我可以在那里使用变量吗? circle.graphics...只执行一次,或每次调用stage.update()时都会执行吗?

1 个答案:

答案 0 :(得分:2)

您想在鼠标悬停时将Shape.graphics.beginFill更改为其他颜色。

Here's an example(警告:草率代码!)