Форум 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=71790)

KeTal 13.11.2005 04:44

Присвоить значения переменных при загрузке
 
Здравствуйте!
Очень плохо знаю основы ActionScript, по-этому возникают такие вопросы :rolleyes:

Надо, чтобы сразу при загрузке swfки выполнился этот код:
loadVariables("51.txt", "_root");
toy51._x = _root.toy51_x;
toy51._y = _root.toy51_y;
он должен присвоить объекту X и Y. Если создать кнопку, при нажатии на которую выполняются эти действия, все работает, но никак не могу сделать, чтобы это срабатывало автоматом.

Пробовал
_root.onEnterFrame=function() {
loadVariables("51.txt", "_root");
toy51._x = _root.toy51_x;
toy51._y = _root.toy51_y;
}

но тогда потом нельзя двигать объект мыхой, т.к. постоянно присваивается X и Y.

Пробовал:

var t_loaded=false;
_root.onEnterFrame=function() {
if (!t_loaded) {
loadVariables("51.txt", "_root");
toy51._x = _root.toy51_x;
toy51._y = _root.toy51_y;
t_loaded=true;
}
}

Но тогда почему-то вообще ничего не происходит (объект остается на том месте, на котором был изначально). Помогите, пожалуйста. :rolleyes:

iNils 13.11.2005 04:58

Нужно использовать обработчик события onData

KeTal 13.11.2005 05:09

Спасибо! Все получилось.

Nirth 13.11.2005 05:11

Вложений: 1
в текстовике пишем
Код:

_x=50&_y=100
в флэшке пишем

Код:

var data_lv:LoadVars = new LoadVars ();
data_lv.load("data.txt");
data_lv.onLoad =  function (success:Boolean):Void {
        if(success) {
                _root.rect._x = parseInt(this._x);
                _root.rect._y = parseInt(this._y);
        }
}


KeTal 13.11.2005 17:48

Так, к сожалению, не работает, а fla из архива не открывается (Unexpected file format). Сделал след. образом:

_root.onData = function() {
loadVariables("51.txt", "_root");
toy51._x = _root.toy51_x;
toy51._y = _root.toy51_y;
};

Локально под аппачем все работает, как надо, но когда заливаю на сервер, флешка держит постоянное соединение (я так понял, она тянет данные файла не прерывно) и шарик не подвигать мыхой. Нужно как-то сделать, чтобы данные из файла грузились только единажды, а шарик остался там, где ему скажет файл.

Пробовал:

var ld=false;
_root.onData = function() {
if (!ld) {
loadVariables("51.txt", "_root");
toy51._x = _root.toy51_x;
toy51._y = _root.toy51_y;
ld=true;
}};

в этом случае шарик снова сидит на изначальном месте и не принимает координаты из файла (или принимает, на один фрейм, так что это не заметно, а потом возвращается обратно).

Nirth 13.11.2005 17:49

у тебя какая версия флэша?

KeTal 13.11.2005 17:50

Flash MX 6.0

Nirth 13.11.2005 17:54

тогда код должен выглядеть так
Код:

var data_lv = new LoadVars ();
data_lv.load("data.txt");
data_lv.onLoad =  function (success) {
        if(success) {
                _root.rect._x = parseInt(this._x);
                _root.rect._y = parseInt(this._y);
        }
}

И не забудь текстовый файл сохранить в кодировке UTF - 8

KeTal 13.11.2005 18:01

Nirth, спасибо! Теперь работает, как надо!


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

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