2012-07-16 118 views
1

首先,我在Actionscipt上很新,所以請耐心等待。我正在嘗試使變量日期上升時發生更改的文本字段。這是我的編碼(它是在一個圖層上):Actionscript-3:動態文本

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

+0

看來你可能有一個以前創建的變量,稱爲'日期'。 – Marty 2012-07-16 08:03:11

+0

附註:您應該使用x和y座標的整數值 - 這是爲了避免奇怪的抗鋸齒效果。 – strah 2012-07-16 08:24:35

+0

你在混合和匹配名字,'date','txt'和現在'dateTextField'之間有混淆。你也使用屬性'txt'而不是'text'。考慮從頭開始重寫代碼,並嘗試使它一次處理一行代碼。 – 2012-07-16 12:59:17

回答

0

哇,我才意識到我多麼複雜,使這一切。我簡單地命名爲文本字段日期,把我的字體和大小那裏,使我的編碼:

var day:int = 1; 

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

但還是非常感謝,你的幫助,這讓我看到了編碼在一個新的光。

2

很可能,您已經在其他地方定義了date。將變量重命名爲更具體的變量,例如dateTextField

0

您錯過了一些冒號和=的符號。 更改此設置 var format:TextFormat = new TextFormat format.color - 0xFFFFFF; 到

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

,並檢查每一行你的最後有一個「;」我可以看到另外一條缺失的線路;

0

線3和4名應該是:

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

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

  1. ,如果您使用的只有一個「=」,而不是兩個「==」將分配的值,而不是檢查它的。
  2. 您再次使用日期,只改變了它的第一行
  3. 設置文本的成員不是「TXT」,而是「文本」