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

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

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

Регистрация: Jul 2005
Сообщений: 3
Отправить сообщение для Makes с помощью ICQ
Question загрузка данных из внешних источников в переменную (не в текстовое поле!)

Есть 2 кадра. В первом скрипт, на втором - стоп. В текстовое поле данные грузятся, а в переменную нет. Есть кнопка on(Release){gotoAndPlay(1);} нажимаешь ее - инфа появляется в переменной, но надо сразу с первого кадра. Порыл хелп, там есть что-то типа ожидания загрузки переменной - вставил. Не получается. Переменная нужна сразу для определения количества циклов (выделено красным). Причем в аутпуте порядок вывода переменных "перевернут". Аутпут такой по этому коду:
undefined
45 (например)

Вот код:

loadVariables("doit.php", _root);
function checkParamsLoaded(){
if (_root.rows == undefined){
checkParamsLoaded();
} else {
clearInterval(param_interval);
trace(_root.rows); <== Вот сдесь в аутпуте она выводится второй строкой!
}
}
var param_interval = setInterval(checkParamsLoaded, 50);

trace(_root.rows); <== А вот сдесь вылазит undefined (первой строкой)!

setProperty(gline, _width, gw);
hw = getProperty(gline, _width);
wx = getProperty(gline, _x);
wy = getProperty(gline, _y);
htabs = hw/4 - 10;
for (vl = 1; vl < 4; vl++){
vlinepos = wx + hw*vl/4;
vlname = "vline" + vl;
setProperty(vlname, _x, vlinepos);
}

for(f = 0; f < rows; f++){
if (f == 0){var cellvpos = wy;} else {
var prevcell = (f - 1) + "tab0";
var cellvpos = getProperty(prevcell, _y) + vt;
}
var vt = 0;
for(z = 0; z < 4; z++){
cellname = f + "tab" + z;
cellhpos = wx + z * (hw / 4) + 5;
if(f == 0){
setProperty("set" + z, _x, cellhpos);
setProperty("set" + z, _width, htabs);
}
depth = f * 10 + z;
this.createTextField(cellname, depth, cellhpos, cellvpos, htabs, 50);
this[cellname].multiline = true;
this[cellname].wordWrap = true;
this[cellname].autoSize = true;
this[cellname].textColor = 0xffffff;
this[cellname].text = "123";
vcell = this[cellname]._height;
if (vcell > vt){vt = vcell;}
}
if(f != 0){
newgname = "glinez" + f;
duplicateMovieClip(gline, newgname, f*100);
this[newgname]._x = wx;
this[newgname]._y = cellvpos;
for (vlh = 1; vlh < 4; vlh++){
vlname = "vline" + vlh;
vlinehpos = cellvpos + vt + 5 - getProperty(vlname, _y);
setProperty(vlname, _height, vlinehpos);
}
}
}

ЗЫ: в doit.php написано rows=45


Последний раз редактировалось Makes; 27.07.2005 в 19:25.
Старый 27.07.2005, 19:11
K.A.T.A.F.A.L.K.E.R вне форума Посмотреть профиль Отправить личное сообщение для K.A.T.A.F.A.L.K.E.R Найти все сообщения от K.A.T.A.F.A.L.K.E.R
  № 2  
Ответить с цитированием
K.A.T.A.F.A.L.K.E.R
 
Аватар для K.A.T.A.F.A.L.K.E.R

Регистрация: Jul 2005
Адрес: Go, Ukraine!
Сообщений: 787
Отправить сообщение для K.A.T.A.F.A.L.K.E.R с помощью ICQ
Понимаешь в чем прикол, ничего в мире этом не происходит моментально... Даже у тока в проводах есть своя скорость ) Короче, я к чему... Когда вызывается твой LoadVariables загрузка данных произойдет не моментально, о чем свидетельствует выведенное тобой значение undefined, которое вывелось сразу же после попытки что-либо загрузить... Когда же данные загрузились - сработал прелоадер, вывелось нормальное значение. Т.е., выполняй тот скрипт, что идет ниже прелоадера только тогда, когда загрузка выполнится. Проще всего - скопируй его и вставь туда, где стоит тот trace, что выводит нормальное значение...

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

Регистрация: Jul 2005
Сообщений: 3
Отправить сообщение для Makes с помощью ICQ
Цитата:
Понимаешь в чем прикол, ничего в мире этом не происходит моментально
Как раз это я уже осознал! Но ведь как раз-таки стоит там этот прелоадер, в котором выводится нормальное значение, и только потом уже выводится undefined. Вот в чем загадка!
Цитата:
скопируй его и вставь туда, где стоит тот trace, что выводит нормальное значение
Пробовал - выдает
256 levels of recursion were exceeded in one action list.
This is probably an infinite loop.
Further execution of actions has been disabled in this movie.
__________________
Я б в рабочие пошел! Пусть меня научат!

Старый 27.07.2005, 22:44
Makes вне форума Посмотреть профиль Отправить личное сообщение для Makes Найти все сообщения от Makes
  № 4  
Ответить с цитированием
Makes
 
Аватар для Makes

Регистрация: Jul 2005
Сообщений: 3
Отправить сообщение для Makes с помощью ICQ
перед тем как написать предышущий пост, потестил предложенный вариант. через 2 часа пришел, скомпилял - работает. только поля не создаются. будем искать. если кто-то что-то знает наверняка, пожалуйста, ответьте!
__________________
Я б в рабочие пошел! Пусть меня научат!

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

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

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


 


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


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