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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.07.2012, 17:22
avo вне форума Посмотреть профиль Отправить личное сообщение для avo Найти все сообщения от avo
  № 1  
Ответить с цитированием
avo

Регистрация: Jul 2012
Сообщений: 16
По умолчанию Загрузка переменных цвета из внешнего файла

необходимо сделать так, чтобы при загрузке ролика movieClip, имеющийся в нем, перекрашивался в цвет, который прописан во внешнем файле vars.txt - чтобы в дальнейшем можно было менять только этот файл, а ролик не трогать.
мой Vars.txt:
Код:
redColor=0xFF0000
Проблема в том, что цвет из этого файла совершенно не желает считываться, хотя путь правильный, динамический текст из файла прекрасно забирается и показывает текстовое значение в ролике.

Делал так: на первом кадре создавал мувик bigbox- просто плашку, тут же создавал второй слой для скрипта, в этом слое писал код:
Код AS1/AS2:
loadVariablesNum ("Vars.txt",0);
Затем, в мувиклипе вписал следующее:
Код AS1/AS2:
onClipEvent (load) {
(new Color(this)).setRGB(redColor);
}
Не работает. Что не правильно?..

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Все неправильно.

Код AS1/AS2:
function LoadDat( ID, OBJ ){
 
	var prof:XML = new XML();
	prof.ignoreWhite = true;
 
	prof.onLoad = function(success) 
	{
		if (success)
		{
			var node = prof.firstChild.childNodes[0].childNodes[0]
 
 
			for ( var i=0; i< node.childNodes.length; i++ )
			{
				var FORE = node.childNodes[i]     // Элемент ХМЛ-я
 
				for ( var T in FORE.attributes) {
					массив[T] = FORE.attributes[T]   // Атрибуты элемента
				}	
 
			}
		}
	}
	prof.load("http://informer.gismeteo.ru/xml/"+ ID +".xml?RND="+random(9999999));
}
Введите в браузер ссылку - увидите, какой блок данных обрабатывается.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 11.07.2012, 21:40
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
дарк? что это?
У человека нет никакого xml.
__________________
Отряд Котовскага

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Цитата:
Сообщение от Котяра Посмотреть сообщение
дарк? что это?
У человека нет никакого xml.
ХМЛ вещь полезная, имеет смысл решить задачу в общем случае
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 12.07.2012, 10:57
Sergey_A вне форума Посмотреть профиль Отправить личное сообщение для Sergey_A Найти все сообщения от Sergey_A
  № 5  
Ответить с цитированием
Sergey_A

Регистрация: Jun 2010
Сообщений: 128
Если загрузка из текстового файла, то код в кадре:
Код AS1/AS2:
var Var_Color = new LoadVars();
function ChangeColor()
{
	Var_Color.load("cur_color.txt");
}
 
Var_Color.onLoad=function() {
		var cc_mc = new Color(mc1);
		cc_mc.setRGB(Var_Color.new_color);
}
 
mc1.onPress = function () {
ChangeColor();
}
Содержимое файла cur_color.txt - как вы и написали:
Код:
new_color=0xFF0000
На сцене есть только мувик mc1 - просто одноцветная плашка.

Добавлено через 3 минуты
Здесь событие происходит по клику на мувик, если же нужно просто один раз, при загрузке ролика, то надо вызывать функцию ChangeColor() безусловно - без события.

Старый 12.07.2012, 11:21
avo вне форума Посмотреть профиль Отправить личное сообщение для avo Найти все сообщения от avo
  № 6  
Ответить с цитированием
avo

Регистрация: Jul 2012
Сообщений: 16
Sergey_A, большое спасибо, все работает. Насчет onPress - да, мне надо было чтобы при загрузке сразу цвет мувика менялся, без щелчка на нем, но я сделал так:
Код AS1/AS2:
bigbox1.onLoad = function () {
ChangeColor();
}
где bigbox1 - инстанс клипа, который я хочу раскрашивать. Подскажите, безусловно - это как?

Старый 12.07.2012, 12:24
Sergey_A вне форума Посмотреть профиль Отправить личное сообщение для Sergey_A Найти все сообщения от Sergey_A
  № 7  
Ответить с цитированием
Sergey_A

Регистрация: Jun 2010
Сообщений: 128
Да нет, у вас тоже все правильно - это обработка события загрузки клипа. Но если обрабатывать конкретный клип нет необходимости, то можно опустить
Код AS1/AS2:
bigbox1.onLoad = function () {
}
, оставив просто
Код AS1/AS2:
ChangeColor();
Эффект будет тот же.

Старый 12.07.2012, 14:34
avo вне форума Посмотреть профиль Отправить личное сообщение для avo Найти все сообщения от avo
  № 8  
Ответить с цитированием
avo

Регистрация: Jul 2012
Сообщений: 16
Огромное спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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