是否可以使用TextField
显示多个文字,如下所示:
Susan 50
Bob 100
Michael 30
这适用于排行榜
此致
答案 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');
}
}
}
将界面调整为记录分数的方式。