我正在关注“按照例子进行Flash游戏开发”这本书,我现在正在第二章,在扫雷游戏中。
我遇到的问题是在我开始输入代码以使磁贴显示之后,我得到以下错误:
1046: Type was not found or was not a compile-time constant: tile_movieclip.
和1180: Call to a possibly undefined method tile_movieclip.
。
他们出现的行分别是:
private var tile:tile_movieclip;
和
tile = new tile_movieclip();
我不知道为什么它不起作用。这本书没有提到有关错误的任何内容,我已经尝试过复制/粘贴书中的代码,但它也没有用。我目前正在使用Adobe Flash CS4。
目前的源代码在这里:http://pastebin.com/spUzPGBx。它可能有其他错误,因为我在发现此错误时仍在调试它。
答案 0 :(得分:2)
为了使代码有效,您需要以下两种方法之一:
1 - 名为tile_movieclip
的类2 - 一个名为tile_movieclip的库符号,在其属性面板上设置了链接,在编译时会自动创建一个名为tile_movieclip的类。
我猜你正在使用的书中有一个与之相关的.fla文件。
更新 - 我刚下载了该书的.pdf,第22页介绍了在您的资料库中创建此符号并设置关联。
所以....我认为我们可以认为这个谜团已经解决了。
答案 1 :(得分:1)
这意味着flash认为类tile_movieclip
不存在。如果它确实存在,则意味着闪存不知道如何访问它。
根据项目结构的不同,有很多可能的原因。如果您尝试访问外部库,库项目,项目中的某些类等,
请在您的问题中指明您认为课程tile_movieclip
所在的位置,并且我能够提供更具体的答案。
作为旁注,在AS3(可能是所有编程语言)中,使用大写字母命名类是一个标准,因此更容易区分变量和类。特别是在AS3中,sprite
是一个var,而Sprite
是一个类。 AS3是一种区分大小写的语言。