Форум 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)
-   -   Как выдрать из функции переменную? (http://www.flasher.ru/forum/showthread.php?t=90988)

udjin 22.01.2007 16:03

Как выдрать из функции переменную?
 
Скрипт, который кушает внешний файл:

Код:

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success) {
    if (success) {
        trace(my_lv.time);
    } else {
    trace("Error loading/parsing LoadVars.");
    }
};
my_lv.load("clock.txt");

Как вытащить оттуда значение переменной my_lv.time, чтобы с ним работать дальше?

Futs 22.01.2007 16:09

Вместо trace(my_lv.time); передай своей функции: myFun(my_lv.time); и делай что хочешь

udjin 22.01.2007 16:16

Не понял, myFun это другая функция?

Что такое хорошо? 22.01.2007 17:53

Да. myFun - это другая функция, которая будет запущена по завершению загрузки твоего clock.txt.
Это просто тебе человек для примера привел.
Другими же словами - обращайся к своей переменной my_lv.time, но только тогда, когда документ действительно загрузился.

udjin 22.01.2007 19:36

В общем, нужно чтобы работало примерно так:
Код:

_global.aaa;

var my_lv:LoadVars = new LoadVars();
my_lv.load("clock.txt");
my_lv.onLoad = function(success){
if(success){
        flag = "ok";
        aaa = my_lv.time;
}
};

if(flag == "ok"){
trace(aaa);
        }

[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

Но так не работает.

udjin 22.01.2007 19:38

Короче, чтобы с переменной можно было вне функции работать.

silin 22.01.2007 19:42

тебе же <Что такое хорошо?> русским языком сказал: "но только тогда, когда документ действительно загрузился."
а Futs и способ предложил как это сделать..
чего еще-то?
зы: "примерно так" как у тебя не работает (и не будет) потому что когда ты трейсишь(проверяешь свой флаг) переменной еще нет..

Что такое хорошо? 22.01.2007 19:44

добавь в свой код вот это и посмотри что напишет

Код:

this.onEnterFrame=function(){
if(flag == "ok"){
trace(aaa);
}
}


udjin 22.01.2007 20:08

silin, Что такое хорошо?, ребята, спасибо что помогаете.
Дело в том, что внутри функции и так выводится нужный результат.
И это ведь тоже функция:
Код:

this.onEnterFrame=function(){
if(flag == "ok"){
trace(aaa);
}
}

И в ней выводится нужный результат, да.

А есть ли способ чтобы извернуться без функций, или хотя бы именной функцией, типа function Aaa(){}? Чтобы можно было в ней return написать, и получить переменную, как aaa = Aaa().

silin 22.01.2007 20:12

давай по порядку:
загрузка clock.txt требует некоторого времени..
до того как загрузится файл, ты не можешь взять данные
это понятно?


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

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