Просмотр полной версии : разбиение txt файла
alexxx84
19.01.2007, 16:35
Товарищи флешеры! Вопрос у меня наболевший.
Создал я текстовую область. В неё дергается текст из txt-файла. Но вместо полосы прокрутки хочу применить разбиение текста, как видел где-то.
Текстовый файл там следующего типа:
\\!-- UTF8
&field_anzahl=3&
&headline_1=ЗАГОЛОВОК
&text_1=<font size="11">ОСНОВНОЙ ТЕКСТ
</font>
&headline_2=ЗАГОЛОВОК
&text_2=<font size="11">ОСНОВНОЙ ТЕКСТ
</font>
Тут всё понятно, но что писать в коде.. ума не приложу. Знаю, что просто там, но не догоняю. ActionScript слабо знаю. Подскажите, пожалуйста, что нужно сделать для разбиения в самой проге и чтобы кнопари нормально работали.
Напишите нормальный XML вместо этого и работайте с классом XML во флеше.
alexxx84
19.01.2007, 18:17
А можно чуть подробнее? Что примерно должно быть в XML файле?
судя из 1 поста вам лучше использовать LoadVars
хелп по нему замечательный, или поиск на форуме
alexxx84
22.01.2007, 14:11
Не знаю, то ли это. Можно там сделать такую вещь, чтобы автоматически генерились странички текста (перелистываемые по стрелочкам) ?
xml file:
<?xml version="1.0" encoding="utf-8"?>
<nod>
<nod title='ЗАГОЛОВОК'>
<text>ОСНОВНОЙ ТЕКСТ</text>
</nod>
<nod title='ЗАГОЛОВОК'>
<text>ОСНОВНОЙ ТЕКСТ</text>
</nod>
</nod>
AS code:
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
trace (xmlNode[i].attributes.title);//выведет заголовок
trace (xmlNode[i].firstChild.value);//выведет основной текст
}
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("file.xml");
ЗЫ: не проверял. Жми F1 и почитай хелп по XML классу
Выделенное - тут возможно что-то напутал.
alexxx84
22.01.2007, 14:57
Большое спасибо! Сегодня проверю
alexxx84
22.01.2007, 17:25
Примите мои извинения, но туго доходит до новоявленного флешера. Пытаюсь по разному подкопаться до истины... то html, то txt, то xml пытаюсь добавить... Тяжело мне код даётся. XML - вообще тёмный лес. F1 не помог)))
Очень вас прошу помочь.
p.s.
Всё-таки идея с txt файлом показалась мне более выполнимой (хотя трудно судить, в примерах с xml ничего подобного не видел, не знаю как там кнопки привязать). Идеальный вариант - с подгружаемой html-кой. Но это мнение дилетанта.
p.p.s.
Здесь нужно ещё учесть, что нужно будет переходить в этом тексте по ссылям, открывая другой раздел в той же флешке.
Умоляю, разжуйте для головы кипящей
в ХМЛ
<?xml version="1.0" encoding="utf-8"?>
<nod>
<nod title='ЗАГОЛОВОК1'>
ОСНОВНОЙ ТЕКСТ1
</nod>
<nod title='ЗАГОЛОВОК2'>
ОСНОВНОЙ ТЕКСТ2
</nod>
</nod>
во флеш
function loadXML(loaded) {
if (loaded) {
var xmlNode = this.firstChild;
var nodes = xmlNode.childNodes;
for (i=0; i<nodes.length; i++) {
trace (nodes[i].attributes["title"]);
trace (nodes[i].firstChild.toString());
}
//next steps
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("file.xml");
потом уже текст вносишь в текстовые поля или еще что
в качестве там next steps могу предложить такое:
TextField1.Text = xmlData;
где xmlData это что-то из тех trace
а TextField1 это текстовое поле
.text пишется с маленькой буквы
alexxx84
22.01.2007, 17:58
Создал новый докмент, для слоя Layer 1 указал action, как сказано выше (разумеется с моим именем файла, файл fla и xml находятся в одной директории).
Создал XML файл. Вписал в него точно тот текст, что вы сказали, но абсолютно ничего не отображается.
В окне Output вижу текст:
"ЗАГОЛОВОК1
ОСНОВНОЙ ТЕКСТ1
ЗАГОЛОВОК2
ОСНОВНОЙ ТЕКСТ2"
.text пишется с маленькой буквы
ну ты еще к ";" придерись
берешь создаешь 2 массива, заголовки и тескт
и вместо trace присваивание делаешь
alexxx84
22.01.2007, 18:03
текст отобразился, извиняйте, что голову морочил. Сейчас в swf-ке отображается весть текст с кодом
ну ты еще к ";" придерись
Что за обиды? Я не придираюсь, я чуть-чуть поправляю.
";" не обязательно писать, достаточно строку перевести.
alexxx84
22.01.2007, 18:09
и.. это всё? Я не совсем понял.
Как будет работать переключение по заголовкам? Они должны работать как отдельные страницы.
хоть asfunction изучи
хоть текст пехай как html
что можно посавить в св-ве TextField
да я не обижаюсь
alexxx84
22.01.2007, 19:00
Ничего не понимаю. А можно без XML? Я же привёл пример текстового документа. Что нужно сделать, чтобы SWF файл с ним корректно работал?
тогда вам прямая дорога в LoadVars он как раз все & и парсит сам
alexxx84
23.01.2007, 10:26
Ясно... Только как это делается, я как раз и спрашивал. В форуме так и не нашёл темы с ответом на мой вопрос.
поищем вместе?
http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002323.html
alexxx84
24.01.2007, 18:14
Я понял так, что на кнопке должно стоять следующее
on(release) {
loadVariables("file.txt", "_root");
}[iNils: Для оформления своего кода, надо использовать теги ]
только вместо file будет стоять переменная, которая будет изменятся при нажатии... а как она будет выглядеть? Какой скрипт должен быть в текстовом поле?
родился? живи...
твое последнее сообщение вообще к чему?
раз залез сюда, купи книжку умную и почитай
а то 3 страницы мучаешь нас непонятно чем
alexxx84, вам русским по белому сказано: LoadVars
а вы понимаете это как loadVariables
Ну как так можно?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.