PDA

Просмотр полной версии : Чтение переменной из файла


Ilya_Korobkov
05.12.2001, 11:05
Здравствуйте!

Подскажите, пожалуйста, почему у меня не получается присвоить свойству символа значение переменной, прочитанной из файла?
Есть символ (прямоугольник), высоту которого я хочу установить равной значению, определенному в файле data.txt на сервере.

Содержание файла data.txt:

Height=300


Скрипт, прицепленный к instance символа:

onClipEvent (load) {
var Height = 0;
loadVariablesNum ("data.txt", 0);
setProperty (this, _height, Height);
}

У меня на экран выводится прямоугольник нулевой высоты.
Решил проверить, читается ли переменная Height из файла, выводя ее значение в текстовом поле типа "Dinamic" - выводит "300", все нормально вроде... :-(


Спасибо!

C2Plus
05.12.2001, 12:15
перепеши вот так:

onClipEvent (load) {
var Height = 0;
loadVariablesNum ("data.txt", 0);
//////////// setProperty (this, _height, Height);
}

onClipEvent(data){
setProperty (this, _height, Height);
}


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

onClipEvent (load) {
var Height = 0;
loadVariablesNum ("data.txt", 0);
//////////// setProperty (this, _height, Height);
this._visible = 0;
}

onClipEvent(data){
setProperty (this, _height, Height);
this._visible = 1;
}

удачей. :)

pavit
05.12.2001, 12:20
Грабли с тек как флеш понимает переменную Height - в твоём случае он считает её символьной, отсуда все неприятности. выход есть - даже два: 1 - пишешь в файле сданными Height=300.0 (именно так, флеш прочитает енто как перемнную вещественного типа); 2 - после чтения переменных заводиш новую и пишешь my=Number(Height) и используешь её как тебе угодно.
Удачи!

Ilya_Korobkov
05.12.2001, 17:20
Мужики, спасибо за советы, но что-то не получается.
Теперь у меня рисуется на экране прямоугольник ИСХОДНОЙ высоты (то есть такой, каким я его нарисовал, прежде чем сделать символом).
И еще одно изменение: раньше, когда я вместо Height в "setProperty" прописывал конкретное числовое значение, то оно прекрасно отрабатывалось; а сейчас - нет.

Последний вариант кода такой:

onClipEvent (load) {
var Height = 0;
loadVariablesNum ("data.txt", 0);
}
onClipEvent (data) {
Height = Number(Height);
setProperty (this, _height, Height);
}

Может быть, еще что-нибудь посоветуете?
Спасибо!

El
05.12.2001, 17:41
Попробуй так

onClipEvent (load) {
loadVariables ("data.txt", this);
}
onClipEvent (data) {
Height = Number(Height);
setProperty (this, _height, Height);
}

Ghost
05.12.2001, 18:12
хех... а вот у меня евенты на лоад периодически не срабатывают.... :)