【问题标题】:ActionScript 3.0 function for modify TextField用于修改 TextField 的 ActionScript 3.0 函数
【发布时间】:2017-03-07 11:18:14
【问题描述】:

我一周前开始学习 ActionScript 3.0。我想做一个简单的游戏。它将从一个显示欢迎消息的窗口开始(“按下按钮开始”)和一个从文本开始并指向按钮的箭头。我想从代码中创建一切。我正在使用 TextField 作为欢迎消息,但我遇到了一些麻烦。我为 Destkop 创建了一个 .fla AIR 文件。然后我将该文件关联到一个名为 mainFunzioneModidificaTest.as 的类。在这个类中,我编写了一个函数来设置第一个窗口的文本。我使用 TextFormat,但是当我运行 .fla 文件时,我看到了文本,但没有任何格式。颜色、尺寸和字体没有改变这是代码。有人能帮我吗?谢谢!

package {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFormat;

public class mainFunzioneModificaTest extends MovieClip {

    public function mainFunzioneModificaTest() {
        setText();
    }
    function setText(): void {
        var text: TextField = new TextField();
        var myFormat: TextFormat = new TextFormat("Arial", 39, 0xFF0000);
        text.setTextFormat(myFormat);
        text.text = "Hello";
        addChild(text);
    }

}

}

【问题讨论】:

  • 你可以试试 var txt: TextField = new TextField(); 而不是 var text: TextField = new TextField();
  • 我已经试过了。它不起作用。不过谢谢!

标签: actionscript-3 flash actionscript textfield textformat


【解决方案1】:

在调用setTextFormat()之前需要先设置文本,或者使用text.defaultTextFormat = myFormat

来自TextFormat documentation

在向 TextField 添加文本之前使用 TextField.defaultTextFormat 属性应用格式设置,在向 TextField 添加文本之后使用 setTextFormat() 方法添加格式

在调用setTextFormat()之前设置文本:

function setText(): void {
    var text: TextField = new TextField();
    var myFormat: TextFormat = new TextFormat("Arial", 39, 0xFF0000);
    text.text = "Hello";
    text.setTextFormat(myFormat);
    addChild(text);
}

或设置defaultTextFormat:

function setText(): void {
    var text: TextField = new TextField();
    var myFormat: TextFormat = new TextFormat("Arial", 39, 0xFF0000);
    text.defaultTextFormat = myFormat;
    text.text = "Hello";
    addChild(text);
}

【讨论】:

  • 谢谢您,现在可以使用了!所以每次我必须在将“样式”应用于该文本之前设置文本?现在我有另一个问题。我可以将 addEventListener 添加到使用函数 drawTriangles() 绘制的三角形吗?
  • 使用defaultTextFormat 设置默认应用于所有文本的文本样式。如果您在单独的Sprite 实例上绘制三角形,那么您可以为该精灵添加一个事件侦听器。在同一个 DisplayObject 上绘制的所有路径都会触发相同的事件监听器,它们不是独立的。为不同的交互元素使用不同的 Sprite 实例。
  • 并通过单击复选标记将此答案标记为正确。
  • 我已经使用指向按钮的 Sprite 创建了箭头,但我仍然有一个问题。我可以为 Sprite 设置动画吗?我的意思是,我希望箭头上下移动 3 次,然后停止三秒钟,然后再一次,一次又一次。我只是想知道这是否可能。谢谢!
  • 是的,您可以通过代码做到这一点,但您也可以将其制作为带有时间线的 MovieClip 并以这种方式对其进行动画处理。
猜你喜欢
  • 1970-01-01
  • 2011-12-04
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
相关资源
最近更新 更多