Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   loadVariables (http://www.flasher.ru/forum/showthread.php?t=42128)

nagash 21.01.2003 05:58

loadVariables
 
итак... что то я тут тоже немного недопонимаю...
что мы имеем...
имеется пустой мувик... инстант нэйм ему vars
далее имеется первый фрейм
loadVariables("data.txt", "_root.vars");
(если смотреть в дебагинг моде то видим что данные загружаются... всё чики пуки...)

далее есть третий фрейм
if (_root.vars.loaded) {
_root.gotoAndPlay(4);
} else {
_root.gotoAndPlay(2);
}

чего добиваемся... - чтобы мувик не лез дальше пока не загрузятся все данные с сервера...

что имеем - нихрена не пашет...

подскажите пожалуйста в чём я не прав?

freez 21.01.2003 09:20

здесь проверять нужно

onClipEvent (data) {}

Quqush 21.01.2003 10:42

попробуй:
this.onData

nagash 21.01.2003 23:15

Цитата:

Оригинал написал(а) freez
здесь проверять нужно

onClipEvent (data) {}

в том то и вся загвоздка что не хотелось бы вешать на сам мувик...

я вот ещё заметил что допустим если в дебагере смотреть то я вижу ти переменные... а если их попытаться как то использовать то они пустые...
помогите?

sergwizard 22.01.2003 01:09

А в каком виде у тебя данные в data.txt? Там же, наверное, какие-то переменные? Примерно в таком виде: bla1=ququ&bla2=wizwiz&bla3=upsups& и т.д? Или как? Если в таком, то скрипт в третьем фрейме должен быть таким:

Код:

if (_root.vars.bla3=="upsups"){
_root.gotoAndPlay(4);
} else {
_root.gotoAndPlay(2);
}

То есть ты должен выяснить, загрузились ли последние переменные из твоего текстового файла и, если загрузились, - идем дальше.
Вообще-то, зачем усложнять и грузить что-то в пустой клип? Ну и грузи в _root. Легче доступ к ним.
Только не забудь в первом фрейме еще написать
System.useCodepage=true; А то, если data.txt на русском, флэшка не поймет твоих переменных.

nagash 22.01.2003 01:31

в каком виде писать текстовые файлы с переменными я ещё помню... =)
а вот в том то и вся загвоздка... что фаил создаётся динамически и количество переменных совершенно неизвестно... следовательно совершенно непонятно что проверять...
грузить в рут не хочется... по той же самой причине... непонятно что за переменные прийдут...
а так все переменные из пустого мувика взял... да через цыкл все прогнал...
осталась только одна загвоздка... как узнать что они загрузились!

кстати после ну очень долгих мучений понял что строка
if (_root.vars.bla3=="upsups"){
не работает...
а вот строка
if (_root.vars["bla3"]=="upsups"){
работает...
неужели уже и по старинке нельзя
хотелось бы обращатся к переменным таким образом _root.vars.bla3... что то МХ очень уж отличается от пятёрки... или я совсем постарел =)

sergwizard 22.01.2003 03:29

Как это "if (_root.vars.bla3=="upsups")" не работает????? Все работает! И в 5, и в МХ.
А вот такую форму записи, которую ты предложил, я вижу в первый раз. Хотя, она тоже работает.(?)

Я думаю, что если ты сам не знаешь, что будет в текстовом файле, то лучше использовать другой способ загрузки. Что-то типа такого:
Код:

// первый фрейм
System.useCodepage = true;
stop();
vars.onLoad = function(){
myXML = new XML();
myXML.load("data.txt");
}
vars.onEnterFrame = function(){
if(myXML.loaded) {
_root.gotoAndPlay(4);
}
}

И, в таком случае, тебе не нужны пустые 2-ой и 3-й фреймы. Можешь их убрать, и в скрипте писать _root.gotoAndPlay(2);
Или - вообще - делать проверку загрузки с помощью MXL.getBytesTotal и MXL.getBytesLoaded.

sergwizard 22.01.2003 03:52

Блин, я лохнулся немного. Тебе же надо будет использовать переменные из data.txt. В этом случае легче все сделать через LoadVars(). Точно так же, как и с XML
Код:

// первый фрейм
System.useCodepage = true;
stop();
vars.onLoad = function(){
myVars = new LoadVars();
myVars.load("data.txt");
}
vars.onEnterFrame = function(){
if(myVars.loaded) {
_root.gotoAndPlay(2);
}
}

LoadVars() передает и хранит данные в парах. Это тебе будет удобнее.

nagash 22.01.2003 15:25

ну блин...
если на мувик вешать то зачем так морочиться...
на мувик можно и вот так повесить...!
onClipEvent (data) {
_root.gotoAndPlay(2);
}
да и делов то... как загрузится так и перейдёт... =)


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

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