使用一个文本输入显示更多文本

时间:2013-03-27 15:47:43

标签: actionscript-3

是否可以使用TextField显示多个文字,如下所示:

Susan            50
Bob              100
Michael          30

这适用于排行榜

此致

1 个答案:

答案 0 :(得分:1)

我想对于这样的排行榜,您需要两个相邻的TextFields,具有相同的defaultTextFormat属性,两者都设置为multiline=true; wordwrap=false,并且左边填充一个带有名称,右边一个带有分数。这样就可以避免使用统一宽度的字体。一个例子:

public class Leaderboard extends Sprite {
    var namesTF:TextField;
    var scoresTF:TextField;
    var dtf:TextFormat;
    ...
        // this goes into the constructor
        dtf=new TextFormat(...);
        namesTF.defaultTextFormat=dtf;
        scoresTF.defaultTextFormat=dtf;
    ...
    public function displayScores(scores:Array):void {
        // scores are objects like {name:Susan,score=200}
        scores.sortOn("score",Array.NUMERIC+Array.DESCENDING);
        namesTF.text='';
        scores.text='';
        for each (var o:Object in scores) {
            namesTF.appendText(o.name+'\n');
            scoresTF.appendText(o.score.toString()+'\n');
        }
    }
}

将界面调整为记录分数的方式。