Flash - 更改帧后文本更改

时间:2013-07-25 12:03:34

标签: actionscript-3 flash flash-cs5

我有使用movieclip制作的自定义按钮。我在其中提交了一个文本来显示文本。当用户点击,按下并单击按钮时,为了显示不同的效果,我们添加了3个具有不同效果的帧,并在用户执行某些操作时使用mc.gotoAndStop(x)更改帧。

到昨天工作正常。但是,由于我们在文本字段中添加了效果(使用不同的字体颜色和样式),文本字段的文本值将恢复为我们在设计时设置的默认/初始值。

这是预期的吗?除了消除对文本提交的影响之外,还有其他解决方法吗?

我有代码(听众)写在组件旁边(主要类内部,而不是时间轴)

1 个答案:

答案 0 :(得分:0)

Flash时间轴有点像静态状态机;从帧到帧的移动运行该帧的所有文档代码(每次)。它还将内容的值重置为设计时的状态(因此,帧=设计+代码)。由于这个模型可能引起的头痛,我强烈建议你做所有的设计和代码在一个框架中。

但是,以编程方式更改外观很容易。使用TextFormat并使用TextField将其应用于setTextFormat

// Create the textfield
var txt:TextField = new TextField();
txt.text = "Sample Text";
addChild(txt);

// Create the formatting
var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.color = 0xFF0000;
format.size = 10;
format.underline = true;

// Apply the format to the TextField
txt.setTextFormat(format);