Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 闪存as3错误1180,我不知道';我不明白_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 闪存as3错误1180,我不知道';我不明白

Actionscript 3 闪存as3错误1180,我不知道';我不明白,actionscript-3,flash,Actionscript 3,Flash,因此,我收到了一条带有以下代码的错误1180消息: package objects.moving.dudes { import flash.utils.Timer; import objects.moving.Moving; import misc.MoveTimer; public class Dude extends Moving { public function Dude() { addEventListener(E

因此,我收到了一条带有以下代码的错误1180消息:

package objects.moving.dudes {
    import flash.utils.Timer;
    import objects.moving.Moving;
    import misc.MoveTimer;
    public class Dude extends Moving {
        public function Dude() {
            addEventListener(Event.ADDED_TO_STAGE, stageAddHandler);
        }
        public var theMoveTimer;
        public function stageAddHandler(e:Event) {
            addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
            removeEventListener(Event.ADDED_TO_STAGE, stageAddHandler);
        }
        public function keyPressed(e:KeyboardEvent) {
            theMoveTimer = new MoveTimer(e.keyCode);
        }
    }
}
它说,“调用一个可能未定义的方法MoveTimer”

下面是MoveTimer类:

package misc {
    import flash.utils.Timer;
    class MoveTimer {
        private const TIMER_LENGTH = 500;
        public function MoveTimer(myKeyCode:int) {
            keyCode = myKeyCode;
        }
        public var keyCode:int;
        public var timer = new Timer(TIMER_LENGTH);
    }
}
我已经研究了错误1180的几种不同的可能解决方案,但没有一种适用于此。有人知道我为什么会犯这个错误吗

编辑:我在将代码传输到stackoverflow时犯了一些错误,我已经做了一些更改,使其看起来更像我的实际代码。



正如我看到的,您忘记将变量
MoveTimer
键入为
MoveTimer
,并且
MoveTimer
类没有导入到
Dude
类中。
尝试将移动计时器的声明更改为:

public var theMoveTimer:MoveTimer;
并将以下行添加到导入中:

import misc.MoveTimer;

我想你的男生课程的第一行应该以“套餐”开头。这就是Binou建议的更改,即:将MoveTimer类型添加到MoveTimer声明中,并在Dude类中导入MoveTimer类。

解决方案!我觉得自己很愚蠢,但我需要在我的
MoveTimer
类中添加单词
public

package misc {
    import flash.utils.Timer;
    public class MoveTimer { //This is the line where I added the word 'public'. See my question for the incorrect version of this line.
        private const TIMER_LENGTH = 500;
        public function MoveTimer(myKeyCode:int) {
            keyCode = myKeyCode;
        }
        public var keyCode:int;
        public var timer = new Timer(TIMER_LENGTH);
    }
}

对不起,我在传输代码时做得不好。我试图删除所有与问题无关的内容,但我忘记了添加原始代码中的导入部分(实际上我在原始代码中导入了MoveTimer)。我已编辑我的问题以包含导入语句。另外,如果我像这样键入MoveTimer:
public var theMoveTimer:MoveTimer,我仍然得到1180,我得到一个1046,上面写着:找不到类型或类型不是编译时常量:MoveTimer,引用行
public var theMoveTimer:MoveTimer我非常困惑,因为我不理解错误…哦,不,我又犯了一次!我的实际代码开头包含单词public;我只是试图简化stackoverflow的代码,但不小心遗漏了重要的部分。我将对它进行编辑以反映这一点。除非你知道一些我不知道的事情,否则你不应该以“public”开始上课。类应以“package”开头。然后,您的类应该保存在一个文件夹结构中(相对于编译.swf的位置),该结构对应于“package”之后描述的路径。哦,天哪,我又这样做了!我讨厌我在复制和粘贴方面的无能!但是你猜怎么着,一开始我误解了你刚才的评论,它帮助我解决了这个问题,所以谢谢你,你是个救命恩人!我想我会再次编辑我的问题,以显示我的问题是什么,然后我会回答我的问题。