2012-03-29 60 views
1

我想在遊戲的最下角獲得分數。我創建了一個名爲Score的新圖層,拖出一個文本區域,將其轉換爲符號並將其命名爲Score。然後我將它的實例名稱設置爲Score通過動作腳本更新Flash文本

我的Flash遊戲的主類叫做Main.as。但是,我似乎無法訪問我在代碼中創建的Score文本區域。我得到這個錯誤:

1046: Type was not found or was not a compile-time constant: Score.

我錯過了什麼?我如何更新我的代碼中的文本區域文本?

編輯:忘了提及我點擊了「導出爲ActionScript」框,當我將它轉換爲符號時。而且它是類型的MovieClip,如果這很重要的話。

+1

我很感興趣,看看你一直在工作的所有問題等:) – Marty 2012-03-29 06:52:55

+0

哈哈,這是我的一個班的任務,我承認離開太遲,因爲我太忙,使我的軟件工程項目100%完美。基本上在Flash中的蛇遊戲:) – 2012-03-29 15:03:33

回答

2

當您爲ActionScript 3導出符號時,Flash會使用給定名稱(即用於類定義和實例的名稱)爲其創建類。

  • 你得到這個錯誤,因爲你使用類和instace相同的名稱。
  • 你應該檢查它們並使用不同的名稱。
  • 我通常命名我的情況下,與_mc

例如結束你的情況,你應該有Score作爲類和命名實例score_mc(或只是score小寫字母S.

0

圖層名稱沒有區別。您需要設置動態文本字段的實例名稱,而不是包含它的剪輯。也沒有必要將其轉換爲MovieClip。在你的舞臺上創建文本字段,確保它不是靜態的,給它一個你可以用來訪問它的實例名稱。

例子,我做了。如果你想要把一個影片剪輯中提交你的文字,你就需要給兩個剪輯和你的文本字段的名稱我的文本字段名稱scoreText_txt

//inside main.as 
scoreText_txt.text="new text"; 

。您可以使用它來訪問它。

MyMovieClip.MyText.text="new text" 
0

,除非你打算爲文本字段創建額外的邏輯(因爲這將有不導出爲ActionScript其。自己的類),或者希望將其添加到舞臺上動態(通過addChild()

用實例的名字爲Score,給這個一展身手:

Score.text = "822"; 

我建議使用小寫的實例名稱從駝峯分化用於c lasses。以上內容將向更有經驗的開發人員讀取,更新類Score中的static屬性text