【问题标题】:Actionscript-3: Dynamic TextActionscript-3:动态文本
【发布时间】:2012-07-15 01:26:11
【问题描述】:

首先,我是 Actionscipt 的新手,所以请多多包涵。我正在尝试创建一个随着变量 date 上升而变化的文本字段。这是我的编码(它在一个层上):

var day:int = 1;
var date:TextField = new TextField();
if (day = 1) date.txt = "August 1";
if (day = 2) date.txt = "August 2";
date.x = 548.1
date.y = 58.5

var format: TextFormat = new TextFormat
format.color = 0xFFFFFF;
format.font = "Constantia";
format.bold = false
txt.setTextFormat( format);

 stage.addChild(date)

然而,我收到了错误,我不知道为什么。错误是这样的:

1151:内部命名空间中的定义日期存在冲突。来源:var date:TextField = new TextField();

再一次,我对这一切都是新手,如果能提供任何帮助,我将不胜感激。谢谢。

(编辑)

我已经解决了这些问题,并为我的文本字段指定了实例名称​​dateTextField。现在的编码是:

var day:int = 1;

var dateTextField:TextField = new TextField();
if (day == 1) dateTextField.text = "August 1";
if (day == 2) dateTextField.text = "August 2";
dateTextField.x = 548;
dateTextField.y = 58;

var format: TextFormat = new TextFormat ();
format.color = 0xFFFFFF;
format.font = "Constantia";
format.bold = false;
txt.setTextFormat( format);

 stage.addChild(dateTextField);

但我仍然遇到同样的错误?

1151: 与命名空间 internal 中的定义 dateTextField 存在冲突。

来源:var dateTextField:TextField = new TextField();

【问题讨论】:

  • 看来您之前创建的变量名为date
  • 附带说明:您应该为 x 和 y 坐标使用整数值 - 这是为了避免奇怪的抗锯齿效果。
  • 您正在混合和匹配名称,datetxt 和现在的 dateTextField 之间存在混淆。您还使用属性txt 而不是text。考虑从头开始重写代码并尝试使其一次运行一行。

标签: actionscript-3 variables text format


【解决方案1】:

很可能,您已经在其他地方定义了date。将变量重命名为更具体的名称,例如 dateTextField

【讨论】:

    【解决方案2】:

    您缺少一些冒号和 = 符号。 改变这个 var 格式:TextFormat = 新的 TextFormat 格式.颜色 - 0xFFFFFF; 到

    var format: TextFormat = new TextFormat();
    format.color = 0xFFFFFF;
    

    并检查每行末尾是否有一个“;”我可以看到另一行缺少 ;

    【讨论】:

      【解决方案3】:

      第 3 行和第 4 行应该是:

      if (day == 1) dateTextField.text = "August 1";

      if (day == 2) dateTextField.text = "8 月 2 日";

      1. 如果您只使用一个“=”而不是两个“==”,您将分配值而不是检查它。
      2. 你又用了日期,只是在第一行改了
      3. 设置文本的成员不是“txt”而是“文本”

      【讨论】:

        【解决方案4】:

        哇,我才意识到我做这一切是多么复杂。我只是将文本字段命名为 date,在那里设置我的字体和大小,然后进行编码:

        var day:int = 1;
        
        if (day==1) date.text = "July 1";
        

        但感谢您的帮助,它帮助我从新的角度看待编码。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-03-03
          • 1970-01-01
          • 2010-11-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多