Actionscript 3 据称,公共职能部门没有';不存在?

Actionscript 3 据称,公共职能部门没有';不存在?,actionscript-3,air,flash-cs5,Actionscript 3,Air,Flash Cs5,好吧,我已经穷途末路了 我有一个FlashProfessionalCS5.5,AdobeAIR,ActionScript3项目。到目前为止,我从来没有遇到过这个问题 我自己编写了一个名为Prefs的自定义类。这个类有很多函数。我几周前写的那些,我可以毫无问题地调用我的代码。但是我今天写的同一个类中的那些抛出了一个错误 这一个有效: public function UserFetch(ID:String):* { 这个没有: public function Set(setting:String,

好吧,我已经穷途末路了

我有一个FlashProfessionalCS5.5,AdobeAIR,ActionScript3项目。到目前为止,我从来没有遇到过这个问题

我自己编写了一个名为Prefs的自定义类。这个类有很多函数。我几周前写的那些,我可以毫无问题地调用我的代码。但是我今天写的同一个类中的那些抛出了一个错误

这一个有效:

public function UserFetch(ID:String):*
{
这个没有:

public function Set(setting:String, val:*):void
{
我用同样的方式称呼他们。在文档类“base”中:

在我的时间线代码中

base.Prefs.UserFetch("musictoggle");
base.Prefs.Set("musictoggle", true);
第一枪很好。第二个错误是:

场景1,第1层,第1帧,第4行1061:调用 通过静态类型的引用设置的未定义方法 prefs


发生了什么事?我完全找不到发生这种情况的正当理由。正如我所说,它以前从未发生过,也没有发生在任何其他类或函数上。

在聊天中进行了一些讨论后,我们发现flash没有注意到在
prefs.as
-文件中所做的更改。更改类的名称修复了这个问题(这可能是一个奇怪的编译器缓存问题)。

在聊天中进行了一些讨论后,我们发现flash没有注意到在
prefs.as
-文件中所做的更改。更改类的名称修复了该问题(这可能是一个奇怪的编译器缓存问题)。

在这里显示的代码中,您没有声明任何SetMusicVolume函数(您声明了一个命名的Set)。粘贴了错误的函数。我修好了--注意:问题是相同的。未解决--现在必须修复列出的错误。您的错误是未定义的方法“SetMusicVolume”,您现在说它不是问题方法。请编辑该方法,谢谢。我已经盯着代码看了三天了。我对复制和粘贴有点痴迷,哈哈。你试过重命名这个方法吗?Set可能是一个保留字/名称。在这里显示的代码中,您没有声明任何SetMusicVolume函数(您已声明一个名为Set的函数)。粘贴了错误的函数。我修好了--注意:问题是相同的。未解决--现在必须修复列出的错误。您的错误是未定义的方法“SetMusicVolume”,您现在说它不是问题方法。请编辑该方法,谢谢。我已经盯着代码看了三天了。我对复制和粘贴有点痴迷,哈哈。你试过重命名这个方法吗?Set可能是一个保留字/名称。这是我见过的最奇怪的事情之一。但是谢谢你帮我找到问题。“SET”是一个关键字,你不应该使用它。至于这个问题,您需要将“set”函数设置为static。很有可能是他在更改类名时添加的,但他没有意识到这一点。如果将该类的实例分配给static,则只能访问该类中的静态方法。
Set
不是关键字(
Set
is),它可以正常工作。Set不需要设置为static-在他访问的基类中有prefs类的静态实例。问题解决了,与静态无关。这是我见过的最奇怪的事情之一。但是谢谢你帮我找到问题。“SET”是一个关键字,你不应该使用它。至于这个问题,您需要将“set”函数设置为static。很有可能是他在更改类名时添加的,但他没有意识到这一点。如果将该类的实例分配给static,则只能访问该类中的静态方法。
Set
不是关键字(
Set
is),它可以正常工作。Set不需要设置为static-在他访问的基类中有prefs类的静态实例。问题解决了,它与静力学无关。
base.Prefs.UserFetch("musictoggle");
base.Prefs.Set("musictoggle", true);