通常我在工作我的方式轮AS3不错,但这个真的是让我头疼

我具有低于此代码和一切正常我可以跟踪输出,但仍然文本没有显示在舞台上的任何线索??

import flash.display.Sprite;
import flash.text.TextField;
import flash.display.MovieClip;
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
var total:XMLList;
var totalPram:XMLList;
var totalImgs:XMLList;
var totalX:XMLList;
var totalY:XMLList;
var totalInfo:XMLList;
var pram:XML;
var img:XML;
var playHead:Number=0;
var spacer:Number=20;
var xpos:Number=300;
var ypos:Number=100;
/////////////////////////////// formating ///////////////////////////////////
var newFormat:TextFormat = new TextFormat();// Text formating
newFormat.size=30;
newFormat.bold;
newFormat.font="Arial";
newFormat.color="0xCBFF00";
//newFormat.leading=-7;
////////////////////////////////////////////////////////////////////////////
xmlLoader.load(new URLRequest("info_1.xml"));
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
//var tagHolder:MovieClip = new MovieClip();

function LoadXML(e:Event):void {
xmlData=new XML(e.target.data);
xmlData.ignoreWhite=true;
Parseinfo(xmlData);

}
function Parseinfo(Details:XML):void {
total=Details.blink;
totalPram=Details.blink.tag;
totalInfo=Details.blink.more;
totalImgs=Details.blink.img;
totalY=Details.totalY.ypos;
totalX=Details.totalX.xpos;
for (var i=0; i<=1; i++) {
    //addChild(tagHolder);
    pram=totalPram[i];
    var labels:TextField=new TextField  ;// txtfield for questions to be    displayed
    labels.setTextFormat(newFormat);
    //mytxt2.autoSize=TextFieldAutoSize.LEFT;
    labels.embedFonts=true;
    labels.text=pram;
    labels.x=xpos+spacer;
    labels.y=ypos;
    trace(labels.text);
    addChild(labels);

}

}

有帮助吗?

解决方案 3

使用此

labels.defaultTextFormat=newFormat;

代替

labels.setTextFormat(newFormat);

这将解决嵌入字体的问题为好。谢谢大家的帮助,虽然

其他提示

您正在放置在彼此的顶部上的文本框。

var spacer:Number=20;
var xpos:Number=300;
var ypos:Number=100;

labels.x=xpos+spacer; //always 320
labels.y=ypos;        //always 100

我首先看到的是你在哪里创建它应该是文本字段行:

var labels:TextField=new TextField();

另外,尝试不使用调用setTextFormat(),以检查是否问题是嵌入的字体或别的东西这样做。

请确保您嵌入字体,它描绘出什么文本框在说什么。

我有同样的问题。 根据AS3的TextField文档:

  

如果您设置的embedFonts属性   为文本字段属实,则必须   通过使用指定该文本的字体   一个TextFormat的字体属性   对象施加到文本字段中。 如果   指定的字体没有嵌入   SWF文件,文字不   显示。

在换句话说,你需要有一些动态文本字段嵌入字体在舞台上,当你添加一个编程,或者,你可以导出选项的库中创建自己的字体符号,并将其添加到您的文本字段:

var myFont:Font = new MyFont();
...
newFormat.font = myFont.fontName;

我想你已经想通了现在。我希望这将是为别人=)

有帮助

修改

在这种情况下,应使用

labels.setTextFormat(newFormat);

相反

labels.defaultTextFormat = newFormat;

在最后一个似乎并没有为我工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top