Просмотр полной версии : loadVariables
итак... что то я тут тоже немного недопонимаю...
что мы имеем...
имеется пустой мувик... инстант нэйм ему vars
далее имеется первый фрейм
loadVariables("data.txt", "_root.vars");
(если смотреть в дебагинг моде то видим что данные загружаются... всё чики пуки...)
далее есть третий фрейм
if (_root.vars.loaded) {
_root.gotoAndPlay(4);
} else {
_root.gotoAndPlay(2);
}
чего добиваемся... - чтобы мувик не лез дальше пока не загрузятся все данные с сервера...
что имеем - нихрена не пашет...
подскажите пожалуйста в чём я не прав?
здесь проверять нужно
onClipEvent (data) {}
Оригинал написал(а) 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 на русском, флэшка не поймет твоих переменных.
в каком виде писать текстовые файлы с переменными я ещё помню... =)
а вот в том то и вся загвоздка... что фаил создаётся динамически и количество переменных совершенно неизвестно... следовательно совершенно непонятно что проверять...
грузить в рут не хочется... по той же самой причине... непонятно что за переменные прийдут...
а так все переменные из пустого мувика взял... да через цыкл все прогнал...
осталась только одна загвоздка... как узнать что они загрузились!
кстати после ну очень долгих мучений понял что строка
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() передает и хранит данные в парах. Это тебе будет удобнее.
ну блин...
если на мувик вешать то зачем так морочиться...
на мувик можно и вот так повесить...!
onClipEvent (data) {
_root.gotoAndPlay(2);
}
да и делов то... как загрузится так и перейдёт... =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.