Форум 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)
-   -   И опять LoadVars (http://www.flasher.ru/forum/showthread.php?t=103482)

Pro3ik 06.11.2007 13:35

Читал-читал. Смотрел исходники - но видать я совсем что-то непонимаю.
Есть у меня мувиклип. В котором есть динамический текстфилд, в который я собссно и хочу засунуть текст из текстового файла, который лежит в корне возле fla.
И есть LoadVars как я его понимаю.
Код:

class BackForText extends MovieClip
{
        function BackForText()
        {
                Mouse.addListener(this);
        }
        private function onMouseUp():Void
        {
                var motionTween...
                        motionTween.onMotionFinished = function():Void
                        {
                                var lV:LoadVars = new LoadVars();
                                lV.onLoad = onText;
                                lV.load("text1.txt");
                                function onText(success:Boolean)
                                {
                                        if (success)
                                        {
                                                this.AStxt.text = lV.text1;
                                        }
                                        else
                                        {
                                                this.AStxt.text = "unable to load";
                                        }
                                }
                                trace(lV);
                        }

при данном трэйсе мне выдаёт такую штуку:
onLoad=%5Btype%20Function%5D
Я никак не могу понять почему текст не выводится - ошибок мне не пишет, но и текста нет.
где AStxt - инстанс моего текстфилда

Код:

var lV:LoadVars = new LoadVars();
                                lV.onLoad = onText;
                                lV.load("text1.txt");
                                function onText(success:Boolean):Void
                                {
                                        if (success == true)
                                        {
                                                this.AStxt.txt = lV.text;
                                                trace(lV);
                                        }
                                        else
                                        {
                                                this.AStxt.text = "unable to load";
                                        }
                                }

В таком виде оно мне трейсит текст из файла
txt=dsgdfhsfgjs&onLoad=%5Btype%20Function%5D
Значит что то с текстфилдом моим не так - или же в обращении к нему
А вот что? Помогите пожалуйста.

alexcon314 06.11.2007 15:38

Код:

var lv:LoadVars = new LoadVars();
lv.onLoad = function (success:Boolean):Void {
if (success == true) {
        this.AStxt.txt = lv.text;
        trace(lv.text);
}else {
        this.AStxt.text = "unable to load";
}
}
lv.load("text1.txt");

что у вас в текстовом файле?
должно быть примерно следующее (набрать и сохранить в "Блокноте", кодировка обязательно UTF-8)
text=мой текст

Pro3ik 06.11.2007 15:53

Цитата:

Сообщение от alexcon314
что у вас в текстовом файле?
должно быть примерно следующее (набрать и сохранить в "Блокноте", кодировка обязательно UTF-8)
text=мой текст

Текст он трейсит - но не отображает. У меня скорей беда с настройками текстфилда. Только вот какими они должны быть я не знаю.

alexcon314 06.11.2007 16:00

сделайте все по умолчанию для начала
Код:

this.createTextField("txt",10,10,10,100,100)
var lv:LoadVars = new LoadVars();
lv.onLoad = function (success:Boolean):Void {
if (success == true) {
        txt.text = lv.text;
        trace(lv.text);
}else {
        txt.text = "unable to load";
        trace("unable to load");
}
}
lv.load("text1.txt");

так не работает?
зачем у вас стоит this.AStxt.txt = lv.text;?

Pro3ik 06.11.2007 16:06

Цитата:

Сообщение от alexcon314
сделайте все по умолчанию для начала
Код:

this.createTextField("txt",10,10,10,100,100)
var lv:LoadVars = new LoadVars();
lv.onLoad = function (success:Boolean):Void {
if (success == true) {
        txt.text = lv.text;
        trace(lv.text);
}else {
        txt.text = "unable to load";
        trace("unable to load");
}
}
lv.load("text1.txt");

так не работает?
зачем у вас стоит this.AStxt.txt = lv.text;?

this - потому как я обращаюсь к текстфилду находящемуся внутри моего мувика от которого собственно экстендится класс.
Да и без него оно выдаёт ошибку что якобы нет такого AStxt

alexcon314 06.11.2007 16:51

Цитата:

txt=dsgdfhsfgjs&onLoad=%5Btype%20Function%5D
txt=dsgdfhsfgjs - эта строка из вашего файла?
тогда после загрузки к ней надо обратиться lv.txt, т.е.
Код:

this.AStxt.text = lv.txt;
trace(lv) просто выводит вам свойства объекта LoadVars в формате имя=значение&имя=значение....

Pro3ik 06.11.2007 19:09

Цитата:

Сообщение от alexcon314
txt=dsgdfhsfgjs - эта строка из вашего файла?
тогда после загрузки к ней надо обратиться lv.txt, т.е.
Код:

this.AStxt.text = lv.txt;
trace(lv) просто выводит вам свойства объекта LoadVars в формате имя=значение&имя=значение....

Вот мой код.
Код:

                       
var lV:LoadVars = new LoadVars();
lV.onLoad = function (success:Boolean):Void
{
        if (success == true)
        {
                this.AStxt.text = lV.text;
                trace(lV.text);
        }
}
lV.load("text1.txt");

Трэйс в нём работает, показывает строку из текстовика. Но вот в клипе (в котором находится предварительно созданный динамический текстфилд) текста нет. Ошибок никаких несоздаёт. Что ещё можно протрейсить чтоб выяснить в чём дела понятия не имею. Видимо проблема в том что неправильный текстфилд создаю. Но пробовал уже почти всё что можно, а текста нет.

Molecula 06.11.2007 19:41

А в хелпе почитать?
Вот рабочий код:
Код:

var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(src:String) {
    if (src == undefined) {
        trace("Error loading content.");
        return;
    }
    qwe.htmlText = src;
};
my_lv.load("text1.txt", my_lv, "GET");

Содержимое текстового файла:
Код:

<'b'>xcv<'/b'>xcvxcvxcvxvxcv
Ну ток без кавычек.

Pro3ik 06.11.2007 20:12

Всем спасибо - я дурак. После того как я в сотый раз переделал в такую версию кода Molecula - ы понял наконец что всё нормально работает просто то что мне пишет _level0.instance4.AStxt - в текстфилде надо присвоить моему lV.
Так что всё уже работает в таком виде.
Код:

var lV:LoadVars = new LoadVars();
                        lV.onLoad = function (success:Boolean):Void
                        {
                                if (success == true)
                                {
                                _level0.instance4.AStxt = lV.text;
                                trace(lV.text);
                                }
                        }
                        lV.load("text1.txt");

Хотя в таком виде - тоже работало
Код:

var lV:LoadVars = new LoadVars();
                        lV.onData = function (scr:String):Void
                        {
                                if (scr == undefined)
                                {
                                        trace("Error loading content.");
                                        return;
                                }
                                _level0.instance4.htmlText = scr;
                                trace (scr)
                        }
                        lV.load("text1.txt", lV, "GET");


alexcon314 07.11.2007 09:13

Цитата:

_level0.instance4.AStxt
как-то странно выглядит... неужели нельзя обратиться к текстфилду нормально, то бишь внутри класса по имени? вы ведь его в классе юзаете или это вообще левый какой-то тексфилд? и еще я не понял, почему вы упорно используете lv.text, когда в текстовом файле у вас стоит "txt=...", если я не ошибаюсь.


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

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