Flash:使用 XML 进行分页

问题描述 投票:0回答:1

(由于播放器限制,工作在AS2.0)

在我的 Flash 应用程序中,我从 XML 中提取数据。例如,该数据在 1 种语言中为 6 行,但在另一种语言中可能为 20 行。

但是屏幕上的文本框只能填充 10 行文本,我想为用户提供按箭头转到下一页的选项(如果有下一页)。

我有什么选择来获得这种“页面”效果?

xml flash pagination actionscript-2
1个回答
0
投票

您可以计算出每页可以容纳的字符总数。然后使用 substring 获取每个页面的文本,直到到达 xml 字符串的末尾。将每个页面字符串放入一个数组中,并在用户使用迭代器类型模式单击箭头时更改文本字段中的文本。

根据评论进行编辑:

啊我明白你在说什么。这里有一种更强力的逐字符方法,用于在指定高度或附近创建文本字段数组。

var pageIndex = 0;
var maxHeight = 300;
var copy = "Some super long chunk of text here";

var pages = [];

function parsePages()
{
    for(var i = 0; i < copy.length; i++)
    {
        if(pages.length == 0) createPage(0);

        pages[pageIndex].text += copy.charAt(i);
        pages[pageIndex]._height = pages[pageIndex].textHeight;

        if(pages[pageIndex]._height >= maxHeight)
        {
            pageIndex++;
            createPage(pageIndex);
        }
    }
}

function createPage(index)
{
    this.createTextField("page_"+index,this.getNextHighestDepth(),0,0,300,12);
    this["page_"+index].multiline = true;
    this["page_"+index].wordWrap = true;
    this["page_"+index].font = "Arial";
    this["page_"+index].size = 10;
    this["page_"+index].text = "";

    pages.push(this["page_"+index]);
}

parsePages();
© www.soinside.com 2019 - 2024. All rights reserved.