Форум 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=136023)

Alex_UA 08.02.2010 02:19

Изменение цвета объекта при помощи подгрузки данных из внешнего файла
 
Вложений: 1
Ситуация следующая:
нужно чтобы цвет объекта (кнопка) можно было менять из текстового документа. я пытыюсь сделать следующим образом

loadVariables("color.txt", "_root.mainc");
var txtcolor:Color = new Color(_root.mainc.yellow);
txtcolor.setRGB(cl);

тут color.txt - этот самый внешний файл, а cl - переменная, у которой значение, например, 0xEC40A2

почему-то, когда я пользуюсь этим способом, у меня кнопка всегда черного цвета становится. что я делаю не так?

во вложении исходники. помогите, плиз. очень важно

mooncar 08.02.2010 02:23

Используйте класс LoadVars и обработчик его события onLoad и все получится.
Никогда больше не используйте loadVariables.

Добавлено через 4 минуты
Код AS1/AS2:

var txtcolor:Color = new Color(_root.mainc.yellow);
var lv:LoadVars = new LoadVars();
lv.onLoad = function  (success:Boolean) {
        if (success) {
                txtcolor.setRGB(this.cl);
        }
};
lv.load ('color.txt');

Причина проблемы - в асинхронности загрузки данных извне и работы кода.
setRGB у вас отрабатывалась раньше, чем успевали загрузиться данные о цвете из файла.
Обработчики событий класса LoadVars решают эту проблему.

Alex_UA 08.02.2010 03:01

огромнейшее вам спасибо


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

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