Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   опять про setInterval (http://www.flasher.ru/forum/showthread.php?t=114397)

van4es 28.07.2008 14:21

получить переменные и их значения из файла и использовать их (setInterval)
 
Задача: получить переменные и их значения из файла(например vars.txt) и использовать их в скрипте.

Просмотрел хелп, и переделал указанный пример loadsVars:

Код:

this.createEmptyMovieClip("varsHolder", this.getNextHighestDepth());
loadVariables("vars.txt", varsHolder);

var loadVars:Array = new Array();

function checkParamsLoaded() {
 if (varsHolder.done == undefined) {
 trace("not yet.");
 } else {
 trace("finished loading. killing interval.");
 trace("-------------");
 for (i in varsHolder) {
        trace(i+": "+varsHolder[i]);
        loadVars[i] = varsHolder[i];
 }
 trace("-------------");
 clearInterval(param_interval);
 }
}
var param_interval:Number = setInterval(checkParamsLoaded, 100);
trace('my var: ' + loadVars['var1']);

файл vars.txt содержит: dir="video"&file="video"&done="done"

Но вот проблема в том что не происходит паузы до строки var param_interval:Number = setInterval(checkParamsLoaded, 100);
и соответственно выдаётся 'undefined' на trace('my var: ' + loadVars['dir']);

В чём дело? Как сделать чтобы только после загрузки всех переменных работал скрипт дальше?

etc 28.07.2008 14:38

А чем вам так насолил LoadVars, что вы предпочитаете использовать древнейший метод loadVariables мезозойской эпохи?

van4es 28.07.2008 14:53

потому что готовый пример был :) и вроде это именно то, что нужно было.

etc 28.07.2008 14:57

Ну а вы не копайтесь в помойке, пишите сами.

van4es 28.07.2008 16:32

Цитата:

Сообщение от __etc (Сообщение 754833)
Ну а вы не копайтесь в помойке, пишите сами.

НУ вот не получается, пытался заменить на loadVars, проблемма остаётся - скрипт работает пока переменные догружаются.

etc 28.07.2008 16:43

Цитата:

Сообщение от van4es (Сообщение 754849)
НУ вот не получается, пытался заменить на loadVars, проблемма остаётся - скрипт работает пока переменные догружаются.

Ну само собой, в ActionScript так и есть. А в чем проблема дождаться события onLoad и работать дальше? Переменные мгновенно получить извне невозможно.

van4es 28.07.2008 16:59

Цитата:

Сообщение от __etc (Сообщение 754827)
А чем вам так насолил LoadVars, что вы предпочитаете использовать древнейший метод loadVariables мезозойской эпохи?

Код:

myVars = new LoadVars();
myVars.load('vars.txt');

function loading(){
        myVars.onLoad = function( success:Boolean ){
                if(success){
                        trace("variables loaded");
                        trace( 'onLoad: ' + myVars.var1 );
                        clearInterval(loading_interval);
                }
                else{
                        //trace( 'could not lad variables' );
                        loading();
                }
        }
}

var loading_interval:Number = setInterval(loading, 100);
//loading();
trace( 'loading(): ' + myVars.var1 );

проблемма как была, так и осталось(myVars.var1 = 'undefined'). Похоже я чего то важного не понимаю....:umnik2:

iNils 28.07.2008 17:04

Код:

myVars = new LoadVars ();
myVars.onLoad = function (success:Boolean) {
        if (success) {
                trace ("variables loaded");
                trace ('onLoad: ' + this.var1);
        } else {
                //trace( 'could not lad variables' );
                loading ();
        }
};
myVars.load ('vars.txt');


etc 28.07.2008 17:06

Код:

myVars = new LoadVars();
myVars.onLoad = function (success) {
        if (success){
                trace("variables loaded");
                trace( 'onLoad: ' + myVars.var1 );
                // дальше пишем здесь
        } else {
                trace('error');
        }

}
myVars.load('vars.txt');


van4es 28.07.2008 17:14

Всё понял. Спасибо.


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

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