Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Вопрос про текст
Flash Zone Forum > Macromedia Flash > Общие вопросы
Pont_li
Короче, плиз. обьясните как ламеру,как встовлять текст с внешнего файла в определённое поле, и как делать это определённое поле. unsure.gif
tiHo
воспользуйся поиском.

/forum/index.php?act=Se...%F2%E5%EA%F1%F2
MustLive
Pont_li

Данную тему мы многократно обсуждали на форуме. Так что поиск по форуму должен помочь.

Также подобную тему обсуждали в нашей рассылке.

В частности прочитай номер 6, номер 9 и последний номер 14. Где обсуждается данная тема (об использовании loadVariables и LoadVars).
Rohan
кхм... Кто там был против FAQ? =))
MustLive
Rohan. Когда Макс и Тихо говорили, что в FAQ нет необходимости, они явно погорячились smile.gif

И это один из явных примеров этой необходимости.

А для всех наших участников (особенно новых) напоминаю wink.gif (уже в который раз), что впервую очередь нужно воспользоваться поиском по форуму и перечитать все номера нашей рассылки, перед тем как задавать вопросы.
Pont_li
smile.gif wink.gif
tiHo
я все еще не считаю что FAQ нужен
nikitar
tiHO, MustLive

Так ведь FAQ уже есть, он есть в рассылке, достаточно полный, почему бы его не перенести на форум?
MustLive
nikitar

Данный FAQ разбратывался именно для рассылки. Потому он и есть только в ней - а я на форуме ссылаюсь на неё smile.gif, когда говорю почитать рассылку, если данный вопрос уже в ней рассматривался.

Цитата
почему бы его не перенести на форум?

Но предложение всё же интересное.
Rotwang
Как вставлять текст из txt.* файла я разобрался. Но как вставить именно ту строчку, которую нужно? Например, у меня есть текстовый файл, в нем две строки с разным текстом. Одну я называю stroka_1, вторую stroka_2. Задача осложняется тем, что в моей программе должен выводиться текст в зависимости от объекта, который выбрал пользователь. Я написал такой код.
Класс Pass, который, по моей задумке, должен назначать нужную строчку в txt.* файле:
Код
package{
    import flash.display.*;
    import flash.text.*;
    
    public class Pass extends Sprite{
        public function Pass(){
            var t:TextLoader=new TextLoader("stroka_1");
            addChild(t);
        }
    }
}


Класс TextLoader, который загружает текст и создает текстовое поле:
Код
package{
    import flash.display.Sprite;
    import flash.events.*;
    import flash.text.*;
    import flash.net.*;
  

    public class TextLoader extends Sprite {
        public function TextLoader(name:String):void{
                        var request:URLRequest = new URLRequest("istochnik.txt");
        var loader:URLLoader = new URLLoader();
        loader.load(request);
        loader.addEventListener(Event.COMPLETE, completeHandler);
    }
        private function completeHandler(event:Event):void {
    var loader2:URLLoader = URLLoader(event.target);
    var variables:URLVariables = new URLVariables(loader2.data);
    trace(variables.name);
    
    var words:String=variables.name;
    Slova(words);

    }
    function Slova(words:String):void{
    var tekst:TextField=new TextField();
    tekst.text=words;
    tekst.wordWrap=true;
    tekst.width=200;
    tekst.autoSize=TextFieldAutoSize.LEFT;
    addChild(tekst);
    }
}
}

В итоге получается вот что:undefined
TypeError: Error #2007: Parameter text must be non-null.
.
Видимо, проблема с передачей названия строки в функцию TextLoader. Как сделать правильно?

Собственно, нужно передать из внешнего класса в класс TextLoader название строчки, из которой предполагается брать данные.
Rotwang
Нашел способ решения этой проблемы с помощью массивов.

Класс Pass:
Код
package{
     import flash.display.*;
       import flash.text.*;
    
    
    public class Pass extends Sprite{
        public function Pass(){
            var i:Number=0;
            var t:TextLoader=new TextLoader(i);
            t.x=100;
            t.y=100;
            addChild(t);
        }
    }
}



Класс TextLoader:
Код
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.text.*;
    import flash.net.*;


    public class TextLoader extends Sprite {
        var i:Number;
        var dayNameArray:Array;
        public function TextLoader(i:Number):void {
            var request:URLRequest=new URLRequest("istochnik.txt");
            var loader:URLLoader = new URLLoader();
            loader.load(request);
            loader.addEventListener(Event.COMPLETE, completeHandler);
        
         function completeHandler(event:Event):void {
            var loader2:URLLoader=URLLoader(event.target);
            var variables:URLVariables=new URLVariables(loader2.data);
            dayNameArray=variables.stroka.split("||");
        
            var tekst:TextField=new TextField();
            tekst.text=dayNameArray[i];
    addChild(tekst);
          
          
        }
        }
        
    }
}


Но теперь возникает неудобство при присвоении номеров будущим элементам массива внутри текстового файла. Нужно, чтобы эти номера были видны только в самом файле txt*. для удобства обращения к ним, а в текстовое поле не выводились. Есть какой-нибудь способ?
chingachgoog
Цитата(Rotwang @ 29.03.2009 - 15:08) *
Нужно, чтобы эти номера были видны только в самом файле txt*. для удобства обращения к ним, а в текстовое поле не выводились. Есть какой-нибудь способ?


Способ-то есть
Цитата
var1="hello"&var2="goodbye"&var3="done"


только xml по-любому лучше

Русская версия IP.Board © 2001-2009 IPS, Inc.