Форум 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)
-   -   разделение xml текста на страницы. (http://www.flasher.ru/forum/showthread.php?t=119972)

RidingTheFlash 08.01.2009 12:34

разделение xml текста на страницы.
 
День Добрый! Нужна помощь, идеи по такой теме: Во флешь подгружается текст из XML (может быть как очень большой, так и не очень), необходимо чтобы во флеше этот текст разбивался по страницам ( к примеру 1000 символов на одной странице) и динамически появлялись внизу переходы по страницам с остальным текстом. Заранее спасибо.
[IMG]http://s42.***********/i095/0901/b7/a1e7e3ff254e.jpg[/IMG]

fljot 08.01.2009 13:05

в вакансии или http://www.google.ee/search?q=actionscript+pagination

RidingTheFlash 08.01.2009 13:22

ага... pagination... спасибо за ключевое слово! =)

nOobCrafter 08.01.2009 13:25

http://demiart.ru/forum/index.php?showtopic=73208&hl=
Посмотри еще тут, может на толкнет на мысль. Только непонимаю как текст будет разбиваться, если никаких маркировок нет((((

RidingTheFlash 08.01.2009 13:37

Пример с демиарта хорош, только как модифицировать кнопки вперёд-назад на нумерации страниц (как в примере выше)?

gloomyBrain 08.01.2009 16:19

Можно попроще и не через вакансии =)

-загрузили текст (внутри блока текста никаких тегов)
-сделали динамическое текстовое поле и заполнили его текстом
-после этого просто меняем прокрутку текста на нужную величину при нажатии на кнопку

зачем тут еще что-то? =)

nOobCrafter 08.01.2009 16:32

http://demiart.ru/forum/index.php?showtopic=74552 если интересно то еще обсуждается тут)

Mnilionic 08.01.2009 16:34

gloomyBrain, а номера страниц сделать не горизонтальными, а сбоку и вертикальными ))

gloomyBrain 08.01.2009 16:37

2 Mnilionic
Может ввиду того, что я не зарегистрирован на demiart.ru? или просто потому, что у меня еще раннее утро - но я правда Вас не понял...

Mnilionic 08.01.2009 17:18

gloomyBrain, ни разу не был на demiart.ru...
я имел ввиду это (если в кратце):
Код AS1/AS2:

// создаём поле
var txt = this.createTextField('txt', 1, 100, 100, 250, 1);
// заполняем текстом
for(var i = 1; i <= 25; i++) txt.text += 'Строка №' + i + newline;
txt.wordWrap = true;
txt.autoSize = true;
// получаем высоту в пикселях и в строках
var max_height = txt._height;
var max_rows = txt.maxscroll;
// задаём нужную высоту поля, считаем строк влезающих на страницу
// и общее кол-во страниц
txt.autoSize = false;
txt.border = true;
txt.selectable = false;
txt._height = 100;
var page_rows = Math.floor(txt._height * max_rows / max_height);
var total_pages = Math.ceil(max_rows / page_rows);
// создаём кнопки на скорую руку
var btns = new Array();
for(var i = 0; i< total_pages; i++){
        var btn = this.createTextField('btn' + i, i+10, txt._x + txt._width, txt._y + i*18, 15, 18);
        btn.border = true;
        btn.html = true;
        btn.htmlText = '<a href="asfunction:flip,' + i + '">' + (i+1) + '</a>';
        btns.push(btn);
}
 
// обрабатываем выбор страницы
var current_page;
function flip(to_page){
        var btn = btns[to_page];
        btn.textColor = 0xFF0000;
        current_page.textColor = 0x000000;
        current_page = btn;
        txt.scroll = to_page * page_rows;
}
// стартуем с первой страницы
flip(0);



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

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