1

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

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: 与内部命名空间中的定义 dateTextField 存在冲突。

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

4

4 回答 4

2

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

于 2012-07-16T08:02:43.503 回答
0

您缺少一些冒号和 = 的符号。更改此 var 格式:TextFormat = new TextFormat format.color - 0xFFFFFF; 到

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

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

于 2012-07-16T08:22:59.233 回答
0

第 3 行和第 4 行应该是:

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

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

  1. 如果您只使用一个“=”而不是两个“==”,您将分配该值而不是检查它。
  2. 您再次使用日期,只在第一行更改
  3. 设置文本的成员不是“txt”而是“文本”
于 2012-07-16T14:35:25.503 回答
0

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

var day:int = 1;

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

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

于 2012-07-16T20:06:40.127 回答