EaselJS Изменить цвет onMouseOver - PullRequest
2 голосов
/ 12 мая 2011

Я переключился на EaselJS после того, как многократно реализовал всю информацию, связанную с мышью и вектором, в элементе HTML-холста.

Я привык к 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)

Есть ли простой способпередать новый цвет, чтобы начать заполнять?Могу ли я использовать переменную там?circle.graphics... выполняется только один раз или каждый раз, когда происходит вызов stage.update()?

1 Ответ

2 голосов
/ 12 мая 2011

Вы хотите изменить Shape.graphics.beginFill на другой цвет при наведении курсора.

Вот пример (предупреждение: небрежный код!)

...