Работа с текстом в flash
Работа с текстом в flash
Помогите пожалуйста! Для начала объясню ситуацию... У меня например 3 окна (т.е. экрана gotoAndstop();) на каждом окне разный текст (т.е. 3 текста). Как сделать так чтобы не заходить каждый раз в исходник и менять текст? Может как-то подключить xml или еще что-то?
Re: Работа с текстом
конечно можно... xml flash поддерживает на ура
Re: Работа с текстом в flash
Из простого текстового файла
1.txt
Вот написал этот пример:
http://yadi.sk/d/iw-k7HgrBdP8e
Код: Выделить всё
stop();var text1:String;var text2:String;var text3:String; var req:URLRequest = new URLRequest("1.txt");var loader = new URLLoader();loader.dataFormat = URLLoaderDataFormat.VARIABLES;loader.addEventListener(Event.COMPLETE, onLoaded);loader.load(req);function onLoaded (e:Event){ text1=loader.data.mytext1; text2=loader.data.mytext2; text3=loader.data.mytext3; }
Код: Выделить всё
mytext1=Первый текст&mytext2=Второй текст&mytext3=Третий текст
http://yadi.sk/d/iw-k7HgrBdP8e
Re: Работа с текстом в flash
DDer, спасибо! Скажи еще пожалуйста, в какой версии adobe flash ты работаешь, просто у меня cs4 и когда открыл твой файл, у меня выдало ошибку непредвиденный формат... И можешь подсказать, вот так же текстом, как можно сделать чтобы текст обновлялся, например (сегодня один текст, завтра другой, после завтра другой)
Re: Работа с текстом в flash
Я использую CS5
И так -
Если тебе нужна просто логика изменения каждый день чего либо а не полный готовый пример тогда вот:
Тот же пример но с вставкой кода который каждый день начиная с сегодня будет будет брать разные txt файлы 1.txt 2.txt 3.txt и т д и он никогда не остановиться, на год тебе понадобится 365 txt файлов
Вот пример так же на cs5(
http://yadi.sk/d/z9t1bh0-BdgxR
Если что пиши что нужно подробно(напишу под тебя) и смени свой CS4
И так -
тебе нужен случайный вывод или последовательный?завтра другой
Если тебе нужна просто логика изменения каждый день чего либо а не полный готовый пример тогда вот:
Тот же пример но с вставкой кода который каждый день начиная с сегодня будет будет брать разные txt файлы 1.txt 2.txt 3.txt и т д и он никогда не остановиться, на год тебе понадобится 365 txt файлов
Код: Выделить всё
stop();var Bnowmil2:Date;Bnowmil2=new Date();var BDateMsec2=Bnowmil2.getTime();var BNsecs1=Math.floor(BDateMsec2/1000);var BNsecs2=Math.floor(BNsecs1/60);var BNsecs3=Math.floor(BNsecs2/60);var BNsecs4=Math.floor(BNsecs3/24);var sut:int=int(BNsecs4)-16004;var newD:String=String(sut)+".txt"; var text1:String;var text2:String;var text3:String; var req:URLRequest = new URLRequest(newD);var loader = new URLLoader();loader.dataFormat = URLLoaderDataFormat.VARIABLES;loader.addEventListener(Event.COMPLETE, onLoaded);loader.load(req);function onLoaded (e:Event){ text1=loader.data.mytext1; text2=loader.data.mytext2; text3=loader.data.mytext3; textA.text=text1;}
http://yadi.sk/d/z9t1bh0-BdgxR
Если что пиши что нужно подробно(напишу под тебя) и смени свой CS4
Re: Работа с текстом в flash
сейчас уже есть cs6, намного удобнее... лучше его уж качать (cs5 он тоже поддерживает)Вот пример так же на cs5(
http://yadi.sk/d/z9t1bh0-BdgxR
Если что пиши что нужно подробно(напишу под тебя) и смени свой CS4
полная бредятинаТот же пример но с вставкой кода который каждый день начиная с сегодня будет будет брать разные txt файлы 1.txt 2.txt 3.txt и т д и он никогда не остановиться, на год тебе понадобится 365 txt файлов
лучше работать с xml(проще обращаться, больше возможностей):
Код: Выделить всё
import flash.net.URLLoader;import flash.net.URLRequest;import flash.events.Event; //писал на временной диаграмме, поскольку вижу вы все так пишете.... // нужное количество блоков текста...var needNums:int = 3;var loadedText:XML;var loader:URLLoader = new URLLoader();loader.addEventListener(Event.COMPLETE, onLoaded);loader.load(new URLRequest("text.xml")); function onLoaded(e:Event):void { loadedText = new XML(loader.data); // получим массив из needNums не повторяющихся! элементов... var randoms:Array = randomNums(); // теперь мы можем вывести, что получилось или куда там нужно применить trace(loadedText.*[randoms[0]]); trace(loadedText.*[randoms[1]]); trace(loadedText.*[randoms[2]]);} function randomNums():Array { var max:int = loadedText.children().length()-1; var arr:Array = new Array(); while(arr.length < needNums) { var gen:int = generate(); if(noneInArray(gen)) arr.push(gen); } function generate():int { return Math.round(Math.random()*max); } function noneInArray(gen:int):Boolean { return arr.indexOf(gen) == -1 ? true : false; } return arr;}
Код: Выделить всё
<text> <block> Текст 1... </block> <block> Текст 2... </block> <block> Текст 3... </block> <block> Текст 4... </block> <block> Текст 5... </block></text>
Re: Работа с текстом в flash
sasha^, а как сделать не рандомно, 1 блок в например вышел 17 числа, 2 блок 18 числа, 3 блок 19 числа и так по порядку ( как я писал вверху) сегодня, завтра, послезавтра, но не три текста ( всего один) и как можно сделать, так чтобы каждый раз создавать блоки, а они сами менятся в определенный день будут 1 блок в первый день, 2 в следующий, и так например 7 дней (т.е. менять текст потом)
Re: Работа с текстом в flash
Sergoi, может бы и помог, но не пойму что нужно...
из того что понял: нужно сделать разный текст каждый день, но по-порядку? или как?
а насчет блоков не пойму... вот у нас есть текст... у нас есть блоки(одинаковы?), мы их должны создавать программно и тогда только текст в них разный будет и все...?
PS. почитай по работу с xml... у xml есть атрибуты, с их помощью уже посложнее алгоритм можно придумать.. XML и XMLList, импорта не нужно, это верхнего уровня пакет...
из того что понял: нужно сделать разный текст каждый день, но по-порядку? или как?
а насчет блоков не пойму... вот у нас есть текст... у нас есть блоки(одинаковы?), мы их должны создавать программно и тогда только текст в них разный будет и все...?
PS. почитай по работу с xml... у xml есть атрибуты, с их помощью уже посложнее алгоритм можно придумать.. XML и XMLList, импорта не нужно, это верхнего уровня пакет...
Re: Работа с текстом в flash
sasha^ забудь про блоки, нужно сделать разный текст, каждый день, через 24 часа меняется, и по порядку
Re: Работа с текстом в flash
Увидел про 7 дней может подойдет, а если нет еще еще информации давай
Динамическое текстовое поле с именем "textA" и маленький код:
1.txt
Каждый день будет свой текст в Воскресенье первый и Понедельник второй и т д
Динамическое текстовое поле с именем "textA" и маленький код:
Код: Выделить всё
var text1:String;var date:Date;date=new Date();var DN=date.getDay(); var req:URLRequest = new URLRequest("1.txt");var loader = new URLLoader();loader.dataFormat = URLLoaderDataFormat.VARIABLES;loader.addEventListener(Event.COMPLETE, onLoaded);loader.load(req);function onLoaded (e:Event){ text1=loader.data.text[DN]; textA.text=text1;}
Код: Выделить всё
text=Первый текст&text=Второй текст&text=третий текст&text=Четвертый текст&text=Пятый текст&text=Шестой текст&text=Седьмой текст