Форум 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)
-   -   Проблема со считыванием данных из .txt (http://www.flasher.ru/forum/showthread.php?t=82834)

redhead 21.07.2006 22:45

Проблема со считыванием данных из .txt
 
Подскажите, пожалуйста, в чём ошибка.

В первом кадре вставил следующий код:


Код:

var data_lv:LoadVars = new LoadVars ();

data_lv.load("http://любой_домен/data.txt");

data_lv.onLoad =  function (success:Boolean) {
  if(success) {
    _root.rect._x = this._x;
    _root.rect._y = this._y;
  }
}


Всё просто, но кратко поясню код. При помощи LoadVars загружаются переменные (_x и _y) из текстового файла. А потом эти переменные задаются как координаты для муви клипа (имя экземпляра которого rect), который находится на сцене.

Затем запускаю созданный .SWF и текстовый файл с данными, просто изменяю координаты в текстовом файле (там они записаны так _x=100&_y=100) и в момент сохранения текстовика объект на сцене изменяет своё местоположение в соответствии с данными.

Но так не происходит, если запустить вэб-страничку с встроенным в неё упомянутым выше .SWF. Координаты считываются только при первом открытии страницы, изменение данных в текстовом файле никак не влияет на расположение объекта, не помогает даже, если нажать кнопку "Обновить" в браузере - муви клип как "вкопанный". А хотелось бы, что бы и в браузере объект на сцене изменял местоположение динамически.

Укажите, пожалуйста, на мою ошибку.

iNils 21.07.2006 23:01

Прочитайте 3-ый пункт http://www.flasher.ru/forum/showthread.php?t=79864 и исправте пожалуйста.

MINASTIS 22.07.2006 21:17

Xml тебе поможет. Создай в нем узел с параметрами x и y. И считывай их. А с помощью loadVars уже слишком гиморно работать. Иди в ногу со временем! XML

silin 23.07.2006 13:32

xml в чем-то удобнее канеш, но вопрос-то не в этом..
data_lv.load честно работает один раз при загрузке мувика, какие прететензии ?
данные при рефреше беруться из кэша, тоже понятно..
т.е. загрузку надо с какой-то периодичностью повторять, а чтоб файл не кэшировался добавить к запросу случайный заголовок..
что-то типа такого:
Код:

setInterval(function(){data_lv.load("data.txt?a="+Math.random())},1000);

redhead 23.07.2006 13:53

Цитата:

Сообщение от MINASTIS
Xml тебе поможет. Создай в нем узел с параметрами x и y. И считывай их. А с помощью loadVars уже слишком гиморно работать. Иди в ногу со временем! XML

Спасибо за совет. Но нужен именно текстовый файл, который будет храниться на сервере: одна флешка при помощи PHP-скрипта будет вписывать туда данные (в моём случае - координаты), а другая будет их оттуда считывать. Или же это можно реализовать и с помощью XML-файлов? Думаю мне понадобится большая скорость "передача данных<->запись в файл<->считывание данных".

Цитата:

Сообщение от silin
а чтоб файл не кэшировался добавить к запросу случайный заголовок..
что-то типа такого:
Код:

setInterval(function(){data_lv.load("data.txt?a="+ Math.random())},1000);

Спасибо большое! Всё получилось!
На счёт data.txt?a="+ Math.random() не догадался бы...:rolleyes:
Век живи - век учись!

silin 23.07.2006 14:12

Цитата:

одна флешка при помощи PHP-скрипта будет вписывать туда данные (в моём случае - координаты), а другая будет их оттуда считывать. .. Думаю мне понадобится большая скорость...
а че бы этой первой не отдавать данные второй по LocalConnection..

redhead 23.07.2006 14:44

Цитата:

Сообщение от silin
а че бы этой первой не отдавать данные второй по LocalConnection..

Дело в том, что флешки находятся не на одном компе, а на разных - у разных пользователей Интернета. Т.е. проще говоря - он-лайн игра.


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

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