0

如果我将文本放在 上,我有一些脚本效果很好Dynamic Text,但是如果我从外部.txt文件加载它,我加载的文本不会插入到动态文本中。

这是我的代码:

在我的外部 txt 文件中,我使用这个:

_txt=Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

我用它来加载外部文本。

loadText = new LoadVars();
loadText.load("letreiro.txt");
loadText.onLoad = function() {
    _root.textoletreiro = this._txt;
    trace(_root.textoletreiro); // the Output shows the text!
    mcText._txt.text = _root.textoletreiro; // here i'm puting the text on the Dynamic Text, but is not working.
};

这是我的水平滚动代码:

var resetPos:Number = (mcText._txt._x * -1) + 2; 
var endOfText= mcText._txt._x - (mcText._txt.textWidth + 5); 


function scroller()
{   


    mcText._txt._width = mcText._txt.textWidth;
    mcText._txt.multiline = false;
    mcText._txt.autoSize = "right";

    mcText.onEnterFrame = function() {
        mcText._txt._x -= 1;  
        if (mcText._txt._x < endOfText)
        {
            mcText._txt._x = resetPos;
            delete this["onEnterFrame"]; 
            scroller();
        }
    }
}
scroller();  

我做错了什么?

PS:用我的来源编辑letreiro.txt

4

1 回答 1

0

假设您在舞台上有一个名为 mcText 的 MovieClip,位于 0,0 并且在其中一个名为 _txt 的 TextField 内,则以下代码滚动您的文本,直到它到达容器的边缘,然后重置为 0 并再次滚动:

var text:String = "here is some text I would like to scroll.";
var fmt:TextFormat = new TextFormat("Arial", 32);

mcText._txt.multiline = false;
mcText._txt.wordWrap = false;
mcText._txt.autoSize = true;
mcText._txt.text = text;
mcText._txt.setTextFormat(fmt);

function scroller()
{   

    mcText.onEnterFrame = function() {
        mcText._txt._x -= 2; 

        if (Math.abs(mcText._txt._x) >= mcText._txt._width)
        {
            mcText._txt._x = 0;
            delete this["onEnterFrame"]; 
            scroller();
        }
    }
}
scroller(); 
于 2012-06-05T16:41:26.820 回答