Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.01.2012, 15:50
antalopata вне форума Посмотреть профиль Отправить личное сообщение для antalopata Посетить домашнюю страницу antalopata Найти все сообщения от antalopata
  № 1  
Ответить с цитированием
antalopata
[+1 05.03.12]

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
По умолчанию Смена динамического текста по наведению курсора

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

Старый 29.01.2012, 16:03
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
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. В примере поле не в мувике, пропустил. Просто добавьте правильный путь к полю:
Код AS1/AS2:
somemc.my_text.text = texts[num - 1];
, где somemc - имя мувика на сцене
Вложения
Тип файла: rar Наведение на кнопку - меняется текст.rar (7.2 Кб, 31 просмотров)
__________________
Идите первым!


Последний раз редактировалось mooncar; 29.01.2012 в 16:10.
Старый 29.01.2012, 16:26
antalopata вне форума Посмотреть профиль Отправить личное сообщение для antalopata Посетить домашнюю страницу antalopata Найти все сообщения от antalopata
  № 3  
Ответить с цитированием
antalopata
[+1 05.03.12]

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
Спасибо большое ! буду разбираться...

Добавлено через 8 часов 31 минуту
как говорится аппетит во время еды приходит... Можно ли как то на основе(ваших) предыдущего кода и этого

Код AS1/AS2:
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.
Старый 31.01.2012, 18:35
Keeper вне форума Посмотреть профиль Отправить личное сообщение для Keeper Найти все сообщения от Keeper
  № 4  
Ответить с цитированием
Keeper
 
Аватар для Keeper

Регистрация: Jul 2011
Сообщений: 21
Можно так: разместить на сцене мувиклипы с именами от b1 до b6, мувик, который нужно подгружать в координату где-нибудь за рабочей областью (у меня он с именем toy) и повесить код, приведённый ниже, на первом фрейме на таймлайне. Исходник прилагается.
Код AS1/AS2:
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;
		}
	}
}
Вложения
Тип файла: rar ButAlph.rar (52.6 Кб, 31 просмотров)

Старый 31.01.2012, 18:59
antalopata вне форума Посмотреть профиль Отправить личное сообщение для antalopata Посетить домашнюю страницу antalopata Найти все сообщения от antalopata
  № 5  
Ответить с цитированием
antalopata
[+1 05.03.12]

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
спасибо большое ! принял к сведению, дома попробую проверить .

Старый 31.01.2012, 19:14
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 6  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Keeper, придумали массивы и циклы для этого дела. А если 100 кнопок?
__________________
Кодинг, багинг, алгоритминг. me @

Старый 31.01.2012, 19:41
Keeper вне форума Посмотреть профиль Отправить личное сообщение для Keeper Найти все сообщения от Keeper
  № 7  
Ответить с цитированием
Keeper
 
Аватар для Keeper

Регистрация: Jul 2011
Сообщений: 21
Я ими почти (если не совсем) не пользуюсь, да и мне, например, не обломно для кажой кнопки это прописать.

Старый 31.01.2012, 19:52
antalopata вне форума Посмотреть профиль Отправить личное сообщение для antalopata Посетить домашнюю страницу antalopata Найти все сообщения от antalopata
  № 8  
Ответить с цитированием
antalopata
[+1 05.03.12]

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
у меня их 12 и может устроить и этот вариант . Но я не против варианта и с массивами ?!

Старый 31.01.2012, 20:45
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 9  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Код AS1/AS2:
for ( var z=1; z<скока_у_меня_кнопок; z++){
     там_где_все["b"+z].onRelease = function(){ ...  }
}
Код:
да и мне, например, не обломно для кажой кнопки это прописать.
Функционал функций (сорри) отличается настолько на чуть-чуть, что проще систематизировать это отн. управлаяющих параметров и не плодить копипасту. У вас решение "в лоб". Зачастую - да. Несомненно. Но иногда имеет смысл слегка подумать
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2


Последний раз редактировалось dark256; 31.01.2012 в 20:47.
Старый 31.01.2012, 22:48
antalopata вне форума Посмотреть профиль Отправить личное сообщение для antalopata Посетить домашнюю страницу antalopata Найти все сообщения от antalopata
  № 10  
Ответить с цитированием
antalopata
[+1 05.03.12]

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 38
Код AS1/AS2:
for ( var z=1; z<скока_у_меня_кнопок; z++){
     там_где_все["b"+z].onRelease = function(){ ...  }
}
Простите за вопрос наивный... а эти правки для какого кода ? для того что в начале топика ?
и "там_где_все" это "this" там ?

К сожалению все больше и больше понимаю , что попытка понять AS где то с середины, почти бесперспективны (( . Или учи с начала, с азов и имей регулярную практику, или... , или вот так - тебе показывают, а ты ни бум бум.

Но всё равно спасибо за подсказки. Они хотя бы дают понять , что есть отзывчивые люди .

Добавлено через 50 часов 35 минут
вот ещё вопрос -

по клику на кнопке запускается клип

Код AS1/AS2:
on (release) {
	gotoAndStop (m1);
	this._root.m1.gotoAndPlay(2);
}
этот клип должен запускаться одной их трёх кнопок при условии, что он уже не запущен.
То есть если уже был запущен одной кнопкой на второй и третьей не должен срабатывать ?


Последний раз редактировалось antalopata; 03.02.2012 в 01:27.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:38.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.