2013-11-23 31 views
0

我正在關注「Flash遊戲開發實例」一書,目前我正在第二章中進行掃雷遊戲。 我遇到的問題是在我開始輸入代碼來顯示拼貼後,出現以下錯誤: 1046: Type was not found or was not a compile-time constant: tile_movieclip.1180: Call to a possibly undefined method tile_movieclip.。 ,他們已經出現的線分別是:1046:類型未找到或不是編譯時常量:tile_movieclip

private var tile:tile_movieclip;

tile = new tile_movieclip();

我不知道爲什麼它不工作頭緒。本書沒有提到有關錯誤的任何信息,並且我已經嘗試複製/粘貼本書中的代碼,但它也沒有奏效。我目前正在使用Adobe Flash CS4。

當前源代碼在這裏:http://pastebin.com/spUzPGBx。它可能有其他錯誤,因爲當我發現這個錯誤時我仍在調試它。

回答

2

爲了讓該代碼工作,你需要1 2可能的事情:

1 - 命名tile_movieclip

2類 - 阿庫符號名爲tile_movieclip,並已聯繫上的屬性設置面板,編譯後會自動創建一個名爲tile_movieclip的類。

我會猜測你正在使用的這本書有一個.fla文件,並附有該示例。

更新 - 我剛剛下載了該書的.pdf,並在第22頁上描述了在庫中創建此符號並設置鏈接。

所以....我想我們可以考慮解開這個謎。

+0

對不起,延遲迴復,但謝謝!雖然我在第二場比賽中,掃雷,你的解決方案工作。第56頁說,我應該命名符號tile_movieclip,並使其成爲具有相同名稱的可導出動作。改變它,現在它完美的作品。非常感謝! – Gus

1

這意味着閃存認爲類tile_movieclip不存在。如果確實存在,則意味着閃存不知道如何訪問它。

取決於您的項目結構如何發生這種情況有很多可能的原因。如果您正在嘗試訪問外部圖書館,圖書館項目,項目中的某些課程等。

請在您的問題中指定您認爲課程tile_movieclip所在的位置,我將能夠提供更具體的回答。

作爲一個方面說明,在AS3(也可能是所有的編程語言)中,這是一個用大寫字母命名類的標準,因此區分變量和類更容易。在AS3中尤其是sprite是一個var,而Sprite是一個類。 AS3是一種區分大小寫的語言。

+0

我不確定。我沒有使用任何外部庫或任何東西,所有的代碼都在我的Main.as文件中(我知道這是一種不好的做法,但這是本書的做法)。本書沒有提到任何定製庫或類似的東西的需要。我認爲這是一個內置的閃光燈功能。我需要導入任何東西才能使用它?我已經嘗試過'import flash.display.Movieclip',但它沒有任何區別。 另外,感謝您對大小寫敏感的提示。 – Gus

+1

好吧,那麼你的項目缺少一些東西。 'var tile:tile_movieclip;'表示您正在創建一個類型爲'tile_movieclip'的var類,它是一個類。如果你的項目中沒有這個類,它將無法工作。你確定這門課不是在書的前一章中創建的嗎? – Pier

+1

tile_movieclip應拼寫爲「Tile_movieclip」(因爲類應該由大寫字母提及)並應擴展MovieClip。 private var tile:Tile_movieclip/private var tile:MovieClip。確保路徑/軟件包是正確的,在指定的類中導入,並且按照它應該放置在項目中的位置。這有幫助嗎? – tatactic

相關問題