不能有2个动态文本字段AS3

时间:2016-08-31 04:02:51

标签: actionscript-3 flash actionscript flash-cs6

这不是特定的情况,这对我来说很重要。

每当我有动态文本(当然通过代码更改)时,一切正常。 但是,当我添加第二个动态文本时,它们都不会显示。 一个示例场景是:

textfield2.text="goodbye";

并在下一帧

DateTime date = Convert.ToDateTime(gridView1.GetDataRow(i)["date"]).Date;

没有文字显示。 也许闪存有问题。当我向舞台添加另一个文本框时,问题就开始了。

我不想升级到更新的闪光灯,但如果必须,我可以。

如果有人知道如何解决我的问题,请告诉我。

1 个答案:

答案 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();