Страница 2 из 3

Re: События MouseEvent

Добавлено: 18 июн 2010, 15:44
psix55
мне нужно что бы при наведении на кнопку в неком месте на сцене появлялась картинка!
Знаешь как это сделать или нет?
в неком месте на сцене появлялась картинка!
А это??
хотелось бы чтобы это реализовалось только с помощью ActionScript 3.0. НУ или как это правильнее сказать? Программно вроде)))
Тебе надо, чтобы кнопка создавалась программным путём??

Re: События MouseEvent

Добавлено: 18 июн 2010, 16:06
Oleg.arh
psix55 писал(а):
мне нужно что бы при наведении на кнопку в неком месте на сцене появлялась картинка!
Знаешь как это сделать или нет?
в неком месте на сцене появлялась картинка!
А это??
хотелось бы чтобы это реализовалось только с помощью ActionScript 3.0. НУ или как это правильнее сказать? Программно вроде)))
Тебе надо, чтобы кнопка создавалась программным путём??
1) Нет.
2) что бы картинка просто появилась на сцене... сделаю
3)Да. Программно! Только кнопка то уже создана! нужно, что бы картинка при наведении появлялась и именно это надо реализовать программно!

Re: События MouseEvent

Добавлено: 18 июн 2010, 17:40
psix55
Картинка есть в приложении??Или загружать?

Re: События MouseEvent

Добавлено: 18 июн 2010, 17:41
Oleg.arh
Есть

Re: События MouseEvent

Добавлено: 18 июн 2010, 18:48
psix55
я думаю что-то типа..

Код: Выделить всё

btn.addEventListener(MouseEvent.MOUSE_OVER, show_picture);function show_picture(e:MouseEvent){picture.visible = true;//показываем картинку}picture.visible = false;//прячем картинку
мне нужно что бы при наведении на кнопку в неком месте на сцене появлялась картинка!

Код: Выделить всё

btn.addEventListener(MouseEvent.MOUSE_OVER, show_picture);function show_picture(e:MouseEvent){//тут пишем то что должно произойти!}
в неком месте на сцене появлялась картинка!

Код: Выделить всё

picture.visible=true;//но если делать так, то надо перенести картинку на рабочее поле!И надо будет её спрятать!(picture.visible = false;)

Re: События MouseEvent

Добавлено: 18 июн 2010, 19:02
Oleg.arh
оо)) ну вот это я понимаю! Спасибо

Re: События MouseEvent

Добавлено: 30 ноя 2011, 00:24
Happy
Подскажите, пожалуйста. Наверняка кто-нибудь сталкивался.
Нужно сделать, чтобы при наведении на кнопку ее цвет изменялся не сразу скачком, а постепенно.
Например, чтобы кнопка медленно краснела.
Я испробовал всё что мог.
Если во вложенных циклах цвет изменять, то сначала ничего не происходит, а потом резко красный.
Потом я написал рекурсивную функцию и использовал таймер что бы её вызывать.
Удалось достичь желаемого эффекта, но если много раз наводить на кнопку опять цвет изменяется резко.
А ведь нужно ещё чтобы когда мышку убираешь цвет так же медленно стал первоначальным. :(

Может какая-нибудь добрая душа кусочек кода к совету приложит.

Re: События MouseEvent

Добавлено: 30 ноя 2011, 05:48
bodnar
Цвет как задаешь?
плавно как меняешь, с помощью Tween?

Re: События MouseEvent

Добавлено: 30 ноя 2011, 09:42
Happy
Есть переменная, которая отвечает за текущий цвет. var currentColor:int
Она предположим возрастает на каждой итерации на 1.
Потом меняем какую-нибудь компоненту цвета и применяем для кнопки.

Код: Выделить всё

var PersonalTransform:ColorTransform = new ColorTransform(); PersonalTransform.blueOffset = currentColor;PersonalTransform.blueMultiplier =currentColor;PersonalTransform.greenMultiplier = currentColor;PersonalTransform.greenOffset =currentColor;PersonalTransform.redOffset = currentColor;PersonalTransform.redMultiplier =currentColor; btn.transform.colorTransform = PersonalTransform;
Если ещё не сложно разъясните различие Multiplier и Offset.

Re: События MouseEvent

Добавлено: 30 ноя 2011, 12:59
bodnar
есть идея, не знаю насколько получится :roll:
в собственном классе кнопке расширяющим стандартную кнопку добавить сеттер этой переменной.
В сеттер вставить кроме обновления переменной эти действия
и твином менять это значение
????
профит

как то так:

Код: Выделить всё

 // в классе расширяющим SimpleButtonpublic function set newColor(value:Int){    currentColor = value;    var PersonalTransform:ColorTransform = new ColorTransform();         PersonalTransform.blueOffset = currentColor;    PersonalTransform.blueMultiplier =currentColor;    PersonalTransform.greenMultiplier = currentColor;    PersonalTransform.greenOffset =currentColor;    PersonalTransform.redOffset = currentColor;    PersonalTransform.redMultiplier =currentColor;         this.transform.colorTransform = PersonalTransform;} public function get newColor():int{return currentColor;} 

Код: Выделить всё

//в классе инициирующем кнопкуvar btn:MyBtn = new MyBtn();var Tween:Tween = new Tween(btn, "newColor", Elastic.easeOut, btn.currentColor, новый_цвет, 3, true);  // 3 секунды  
тут еще куча всяких импортов нужна будет ну это ты сам уже