这不是特定的情况,这对我来说很重要。
每当我有动态文本(当然通过代码更改)时,一切正常。 但是,当我添加第二个动态文本时,它们都不会显示。 一个示例场景是:
textfield2.text="goodbye";
并在下一帧
DateTime date = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]).Date;
没有文字显示。 也许闪存有问题。当我向舞台添加另一个文本框时,问题就开始了。
我不想升级到更新的闪光灯,但如果必须,我可以。
如果有人知道如何解决我的问题,请告诉我。
答案 0 :(得分:0)
如果您通过AS3创建并添加TextField实例,我认为嵌入字体是可选的(除非您指定另一台计算机上不存在的字体,否则除外)。
在下面的示例中,textfield1和textfield2的文本始终显示,因此我可能会误解您的问题。 最好的祝福。 尼古拉斯
PS:" var计时器:计时器"并且回调函数仅用于使此示例切换从第1帧到第2帧的循环
示例1
第1帧:
import flash.utils.Timer;
import flash.events.TimerEvent;
if (! textfield1 && ! textfield2)
{
import flash.text.TextField;
import flash.geom.Point;
var textfield1:TextField = new TextField();
var textfield2:TextField = new TextField();
var tfPosition:Point = new Point(100,50);
}
try{
removeChild(textfield2);
}catch(e:Error){
(trace (" ERROR : textfield2 is not already added"));
}
addChild(textfield1);
textfield1.x = tfPosition.x;
textfield1.y = tfPosition.y;
textfield1.text = "hello";
stop();
function playStop(te:TimerEvent):void{
play();
}
if(!timer){
var timer:Timer=new Timer(1000);
timer.addEventListener(TimerEvent.TIMER,playStop);
timer.start();
}
第2帧:
removeChild(textfield1);
addChild(textfield2);
textfield2.x = tfPosition.x;
textfield2.y = tfPosition.y;
textfield2.text="goodbye";
stop();
示例2
如果您在时间轴上手动放置了两个TextField实例,则选择"使用设备字体"并且实例的名称实际上被称为" textfield1"在第一帧和" textfield2"在第二帧。 (我已经通过复制和粘贴来完成它并且没有任何问题)。
这也适用于CS6 ......文字显示良好
请详细说明。
第1帧上TextField的实例名为" textfield1" 第1帧上的代码:
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.text.TextField;
textfield1.text = "hello";
stop();
function playStop(te:TimerEvent):void {
play();
}
if (! timer)
{
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER,playStop);
timer.start();
}
第2帧上TextField的实例名为" textfield2" 第2帧的代码:
textfield2.text="goodbye";
stop();