所以我一直在努力在Processing中制作游戏,但我认为Flash会让更多人玩它,所以我决定学习Flash。问题是我一直在非常简单的事情上得到非常愚蠢的错误。例如,我想制作一个'Block'对象用于平台游戏。所以我创建一个新的.as文件,将其命名为Block.as,并在其中定义Block类,如下所示:
package {
public class Block {
public function Block() {
// constructor code
}
public function run()
{
}
}
}
我还不想添加代码,我只是想确保这个有效。所以在我的主时间轴代码中,我尝试创建一个Block对象的实例并执行其run方法:
var block1:Block = new Block();
block1.run();
每次它给我这个无聊的错误:
场景1,层'第1层',第1帧,第2行1061:调用可能未定义的方法,通过带有静态类型块的引用运行。
什么是未定义的方法!?它在Block.as中定义为RIGHT。类文件甚至在同一个文件夹和所有内容中。我真的很不高兴看到Flash处理这么荒谬的简单项目有多糟糕。有谁知道为什么Flash讨厌我?
答案 0 :(得分:2)
您没有声明运行的返回类型。
public function run():void
{
在签名中添加:void。
编辑添加 -
顺便说一下,并不总是这样。您可能已经阅读了完全省略返回类型和强类型变量的教程。在旧版本的Flash IDE中,您可以自由地省略它们。在CS5中,如果不禁用严格模式,您将无法再执行此操作。您可能应该采用严格模式。