FLEX: измените цвета изображения на мыши

Я хочу изменить цвет своего изображения, когда я перемещаю мышь через него.

Таким образом, я подготовил 2 изображения, и это - eventListener:

   private function mouseOverHandler(e:MouseEvent):void {

          e.target.source = "@Embed(source='../icons/userIconOver.png')";

}

К сожалению, когда я перемещаю мышь, я только вижу пустое изображение (ошибка, изображение, не найденное). Однако компилятор не дает мне ошибки, и я пытался использовать тот же путь исходного изображения и также удалить ".. /" в случае, если он ссылается от корневого каталога во времени выполнения. Но тем не менее ничто.

Изображение хранится там, конечно.

Однако, если я могу применить эффект изменить цвет от синего до оранжевого к моему изображению (путем сохранения прозрачности), я мог решить по-другому

Спасибо

1
задан aneuryzm 4 May 2010 в 19:29
поделиться

2 ответа

Это не самый простой способ сделать то, что вы хотите. Для этого были созданы таблицы стилей, поэтому используйте стили скинов для различных состояний. Пример:

.backButton{
    upSkin: Embed(source="BackButton.png"); 
    downSkin: Embed(source="BackButtonDown.png");
    overSkin: Embed(source="BackButtonOn.png");
    disabledSkin: Embed(source="BackButton.png");

    selectedUpSkin: Embed(source="BackButtonDown.png"); 
    selectedDownSkin: Embed(source="BackButtonDown.png");
    selectedOverSkin: Embed(source="BackButtonDown.png");
    selectedDisabledSkin: Embed(source="BackButtonDown.png");
}

Это намного проще, чем пытаться программно менять состояния каждый раз, когда вам это нужно.

2
ответ дан 3 September 2019 в 00:47
поделиться

Хотя я считаю решение Robusto лучшим, проблема вашего существующего кода в том, что вы указываете источник на строку. Вы не используете MXML, поэтому компилятор не сможет разобрать код Embed для вас, вам нужно будет встроить изображение отдельно:

(в верхней части класса:)

[Embed(source='../icons/userIconOver.png')]
public var myImageRef:Class

(в обработчике событий)

e.target.source = myImageRef;
0
ответ дан 3 September 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: