![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 05.03.12]
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
|
подскажите пожалуйста..
у меня несколько кнопок и одно динамическое текстовое поле в мувике, мне нужно что бы при наведении курсора на на любую из кнопок текст в этом поле менялся в соответствии с названием кнопки |
|
|||||
|
Модрон-ветеринар
|
var texts:Array = ['Текст 1', 'Текст 2', 'Текст 3']; //массив с текстами для кнопок for (i = 1; i <= 3; i++) { this['btn' + i].onRollOver = btnOver; this['btn' + i].onRollOut = btnOut; this['btn' + i].num = i; //запоминаем номер кнопки внутри нее самой } function btnOver() { var num:Number = this.num; //"вспоминаем" номер кнопки, на которую навели my_text.text = texts[num - 1]; //назначаем нужный текст в з-ти от номера } function btnOut() { my_text.text = ''; //при уведении с кнопки поле очищается } В качестве кнопок используются мувики. PS. В примере поле не в мувике, пропустил. Просто добавьте правильный путь к полю: , где somemc - имя мувика на сцене
__________________
Идите первым! Последний раз редактировалось mooncar; 29.01.2012 в 16:10. |
|
|||||
|
[+1 05.03.12]
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
|
Спасибо большое ! буду разбираться...
Добавлено через 8 часов 31 минуту как говорится аппетит во время еды приходит... Можно ли как то на основе(ваших) предыдущего кода и этого import mx.transitions.Tween; //иморт класса Tween var onSpeed:Number = 0.5; // количество секунд для возрастания альфы var offSpeed:Number = 1; // количество секунд для убывания альфы var tweenContainer:Object = new Object(); //хранилище для объектов - Tween'ов function upAlpha () { //функция возрастания альфы //this - это и есть мувик, для которого вызывается функция tweenContainer[this]['off'].stop(); //если все еще продолжается убывание альфы, то его останавливаем tweenContainer[this]['on'] = new Tween(this, '_alpha', mx.transitions.easing.None.easeNone, this._alpha, 100, onSpeed, true); } function downAlpha () { //функция возрастания альфы //this - это и есть мувик, для которого вызывается функция tweenContainer[this]['on'].stop();//если все еще продолжается возрастание альфы, то его останавливаем tweenContainer[this]['off'] = new Tween(this, '_alpha', mx.transitions.easing.None.easeNone, this._alpha, 0, offSpeed, true); } function setAlphaManage (mc:MovieClip) { tweenContainer[mc] = new Array(); //для хранения твинов, для каждого мувика - свой массив mc.onRollOver = upAlpha; mc.onRollOut = downAlpha; } //используем: for (i = 1; i <= 5; i++) { var item:MovieClip = _root['town' + i]; item._alpha = 0; setAlphaManage(item); } а тем более подчеркиваемую вами часто рекомендацию не писать код на кнопках и мувиках(а мой опыт и воображение пока сильно привязано к кнопкам и мувикам). Сделать так что бы ещё при наведении на кнопку( в одном ряду кнопок) менялась прозрачность другой кнопки(в другом ряду кнопок). И пуще того так же без написания кода на кнопке( ну в крайнем случае на ней) при наведении курсора на кнопку подгружать муви-клипы в конкретную координату ? Пока что они у меня вставлены внутрь кнопки на "Over" . Спасибо... Добавлено через 31 час 12 минут надеюсь на скорый ответ Последний раз редактировалось antalopata; 30.01.2012 в 13:34. |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 21
|
Можно так: разместить на сцене мувиклипы с именами от b1 до b6, мувик, который нужно подгружать в координату где-нибудь за рабочей областью (у меня он с именем toy) и повесить код, приведённый ниже, на первом фрейме на таймлайне. Исходник прилагается.
b_alphas = 100; b1.onRollOver = function() { toy._x = 133; toy._y = 230; onEnterFrame = function() { b2._alpha = b3._alpha = b4._alpha = b5._alpha = b6._alpha = b_alphas -= 10; if (b_alphas < 50) { b_alphas = 50; } } } b1.onRollOut = function() { toy._x = -100; toy._y = 100; onEnterFrame = function() { b2._alpha = b3._alpha = b4._alpha = b5._alpha = b6._alpha = b_alphas += 10; if (b_alphas > 100) { b_alphas = 100; } } } b2.onRollOver = function() { toy._x = 266; toy._y = 230; onEnterFrame = function() { b1._alpha = b3._alpha = b4._alpha = b5._alpha = b6._alpha = b_alphas -= 10; if (b_alphas < 50) { b_alphas = 50; } } } b2.onRollOut = function() { toy._x = -100; toy._y = -100; onEnterFrame = function() { b1._alpha = b3._alpha = b4._alpha = b5._alpha = b6._alpha = b_alphas += 10; if (b_alphas > 100) { b_alphas = 100; } } } b3.onRollOver = function() { toy._x = 400; toy._y = 230; onEnterFrame = function() { b2._alpha = b1._alpha = b4._alpha = b5._alpha = b6._alpha = b_alphas -= 10; if (b_alphas < 50) { b_alphas = 50; } } } b3.onRollOut = function() { toy._x = -100; toy._y = -100; onEnterFrame = function() { b2._alpha = b1._alpha = b4._alpha = b5._alpha = b6._alpha = b_alphas += 10; if (b_alphas > 100) { b_alphas = 100; } } } b4.onRollOver = function() { toy._x = 183; toy._y = 150; onEnterFrame = function() { b2._alpha = b3._alpha = b1._alpha = b5._alpha = b6._alpha = b_alphas -= 10; if (b_alphas < 50) { b_alphas = 50; } } } b4.onRollOut = function() { toy._x = -100; toy._y = -100; onEnterFrame = function() { b2._alpha = b3._alpha = b1._alpha = b5._alpha = b6._alpha = b_alphas += 10; if (b_alphas > 100) { b_alphas = 100; } } } b5.onRollOver = function() { toy._x = 266; toy._y = 150; onEnterFrame = function() { b2._alpha = b3._alpha = b4._alpha = b1._alpha = b6._alpha = b_alphas -= 10; if (b_alphas < 50) { b_alphas = 50; } } } b5.onRollOut = function() { toy._x = -100; toy._y = -100; onEnterFrame = function() { b2._alpha = b3._alpha = b4._alpha = b1._alpha = b6._alpha = b_alphas += 10; if (b_alphas > 100) { b_alphas = 100; } } } b6.onRollOver = function() { toy._x = 400; toy._y = 150; onEnterFrame = function() { b2._alpha = b3._alpha = b4._alpha = b5._alpha = b1._alpha = b_alphas -= 10; if (b_alphas < 50) { b_alphas = 50; } } } b6.onRollOut = function() { toy._x = -100; toy._y = -100; onEnterFrame = function() { b2._alpha = b3._alpha = b4._alpha = b5._alpha = b1._alpha = b_alphas += 10; if (b_alphas > 100) { b_alphas = 100; } } } |
|
|||||
|
[+1 05.03.12]
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
|
спасибо большое ! принял к сведению, дома попробую проверить .
|
|
|||||
|
Регистрация: Jul 2011
Сообщений: 21
|
Я ими почти (если не совсем) не пользуюсь, да и мне, например, не обломно для кажой кнопки это прописать.
|
|
|||||
|
[+1 05.03.12]
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
|
у меня их 12 и может устроить и этот вариант . Но я не против варианта и с массивами ?!
|
|
|||||
for ( var z=1; z<скока_у_меня_кнопок; z++){ там_где_все["b"+z].onRelease = function(){ ... } } ![]() Последний раз редактировалось dark256; 31.01.2012 в 20:47. |
|
|||||
|
[+1 05.03.12]
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
|
for ( var z=1; z<скока_у_меня_кнопок; z++){ там_где_все["b"+z].onRelease = function(){ ... } } и "там_где_все" это "this" там ? К сожалению все больше и больше понимаю , что попытка понять AS где то с середины, почти бесперспективны (( . Или учи с начала, с азов и имей регулярную практику, или... , или вот так - тебе показывают, а ты ни бум бум. Но всё равно спасибо за подсказки. Они хотя бы дают понять , что есть отзывчивые люди . Добавлено через 50 часов 35 минут вот ещё вопрос - по клику на кнопке запускается клип этот клип должен запускаться одной их трёх кнопок при условии, что он уже не запущен. То есть если уже был запущен одной кнопкой на второй и третьей не должен срабатывать ? Последний раз редактировалось antalopata; 03.02.2012 в 01:27. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|