Flash编译器错误1061:调用可能未定义的方法运行...但运行存在!

时间:2011-03-01 22:57:06

标签: flash class properties undefined

所以我一直在努力在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讨厌我?

1 个答案:

答案 0 :(得分:2)

您没有声明运行的返回类型。

public function run():void
{

在签名中添加:void。

编辑添加 -

顺便说一下,并不总是这样。您可能已经阅读了完全省略返回类型和强类型变量的教程。在旧版本的Flash IDE中,您可以自由地省略它们。在CS5中,如果不禁用严格模式,您将无法再执行此操作。您可能应该采用严格模式。