Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   кнопка под курсором (http://www.flasher.ru/forum/showthread.php?t=131754)

Bayazet 27.10.2009 16:51

кнопка под курсором
 
здравствуйте.
у меня такая задача:
есть холст, на котором много символов типа button с названиями "01", "02", "03" и т.д.
и есть текстовый файл с приблизительно подобным содержинием:
01 красный
02 синий
03 желтый
.....
подскажите, как сделать так, чтобы при наведении курсора на кнопку с названием "01" рядом с курсором появлялась надпись "красный"?

mooncar 27.10.2009 17:32

Создайте текстовый файл с содержимым:
Код:

var1=красный&var2=синий...
Затем воспользуйтесь классом LoadVars для загрузки текста из файла и разбором пар "переменная-значение".
Это делается внутри метода LoadVars.onLoad
В том же обработчике onLoad задайте внутри ваших кнопок некую переменные с полученными текстовыми значениями (красный, синий и тд.).
Также на кнопки повесьте функцию-обработчик onRollOver, по которой это значение выводилось бы любым способом, например, через отображение в текстовом поле, расположенном внутри кнопки, например чуть выше и правее центра.

Допустим, вы используете в качестве кнопки мувики (MovieClip, а не Button!) btn1, btn2 и тд.
Внутри них делаете в нужном месте динамическое текстовое поле с названием (инстанс-именем на сцене) textFiled. В нем ничего не должно быть написано.
Код AS1/AS2:

var lv.LoadVars = new LoadVars();
lv.onLoad = function(success:Boolean) {
 if (success) {
  for (i = 1; i < 31; i++) {
  _root['btn' + i].textHint = this['var' + i]; //узнаем значение переменных var1, var2.... и присваиваем их переменной textHint в кнопке
  _root['btn' + i].onRollOver = btnOver;
  _root['btn' + i].onRollOut = btnOut;
  }
  }
}
lv.load('color_list.txt'); //загружаем файл
 
function btnOver () {
  trace(this.textHint);
  this.textFiled.text = this.textHint; //выводим надпись
}
 
function btnOut () {
  this.textFiled.text = ''; //стираем надпись после увода мыши
}


Infectedcell 27.10.2009 17:40

реализуйте по-человечески, с помощью XML.
Грузите данне, цепляйте объекты, присваивая им аттрибуты, например объекту 01, аттрибут "красный" из xml файла.. тут делов на 4 минуты 8)
за одно получите тотальную управляемость как мувиками, так и данными ))))

mooncar 27.10.2009 17:49

Да, XML получше будет, если кнопок много. Нужно немного модернизировать приведенный код под XML.

Bayazet 28.10.2009 10:05

а можно поподробнее насчет XML?


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

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