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

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

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

Регистрация: Jun 2004
Адрес: Екб
Сообщений: 63
По умолчанию loadVars - проблема

Не смог разобраться сам, поэтому обращаюсь к наиболее компетентным, то есть к вам-)

Переменные подгружаю из файла (ниже кусочек):
Код:
num=2
&x_1=100
&y_1=100
&icon_1=icon1.gif
&descr_1=текст
&href_1=url1
&name_1=текст
&x_2=200
&y_2=200
&icon_2=icon2.gif
&descr_2=текст
&href_2=url2
&name_2=текст
Далее мне необходимо размножить один мувик и положить в соответствующие экземпляры нужные переменные.
Код:
this.lv = new LoadVars();
this.lv.load("vars.txt");
this.lv.onLoad = function() {
	for (i=1; i<=this.num; i++) {
		item.duplicateMovieClip('item'+i, i);
		_root['item'+i]._x = this["x_"+i];
		_root['item'+i]._y = this["y_"+i];
		_root['item'+i].name = this["name_"+i];
		_root['item'+i].descr = this["descr_"+i];
		_root['item'+i].href = this["href_"+i];
		_root['item'+i].icon = this["icon_"+i];		
	}
};
При этом происходит следующее: мувик множится, все текстовые переменные (name, descr, href, icon) передаются и выводятся в соответствующих местах все экземпляров, но экземпляры не встают по нужным местам, то есть код
Код:
_root['item'+i]._x = this["x_"+i];
_root['item'+i]._y = this["y_"+i];
почему-то выполняется не верно... может я обращаюсь к координатам не правильно... не смог разобраться.
При этом, если написать:
Код:
_root['item'+i]._x = 100;
_root['item'+i]._y = 100;
То все мувики нормально передвинутся

Старый 25.06.2005, 16:26
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 2  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
через лоадварс загружается все правильно, просто в подобных случаях как у тебя будут неправильно парситься числовые значения

Цитата:
num=2
&x_1=100
&y_1=100
&....
ты именно так получаешь? или ввиде строчки?

в любом случае можно парсить

Код:
_root['item'+i]._x = parseInt(this["x_"+i]);
_root['item'+i]._y = parseInt(this["y_"+i])
;

вот посмотри функции parseInt , parseFloat

проблема в том что если после числа у тебя есть пробел то при парсинге переменная будет String


Последний раз редактировалось 7thsky™; 25.06.2005 в 16:33.
Старый 25.06.2005, 18:19
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 3  
Ответить с цитированием
Буньков Максим
[+1 02.06.2006]
[+1.4 01.04.2006]
[+1 01.07.2006]
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
или пожешь Number юзать, но может быть трабла и в ссылке this попробуй путь явно указывать через _root, но этот глюк редко встречается
__________________
С уважением, Maksi.

Старый 25.06.2005, 18:31
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 4  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Number тут не поможет, так как если после цифры идут еще какие нить символы например пробел то выдаст NaN

вот попробуй :
Код:
 
trace ('Number: ' + Number ('100 '));
trace ('parseInt: ' + parseInt ('100 '));

Старый 25.06.2005, 19:51
BorisL вне форума Посмотреть профиль Отправить личное сообщение для BorisL Найти все сообщения от BorisL
  № 5  
Ответить с цитированием
BorisL

Регистрация: Jun 2004
Адрес: Екб
Сообщений: 63
Всем большое спасибо! parseInt помог!

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

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

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


 


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


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