Actionascript定时器错误

时间:2014-06-05 07:31:01

标签: actionscript-3 timer flash-cs6

现在正在制作一款名为ChemoBlue的游戏,似乎无法摆脱这个错误:

编辑:我更改了几行代码,错误就是这样:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at ChemoBlueSetup/levelUp()[/Users/raphaelhennessy/Desktop/STS/Gold Cinema ChemoBlue/ChemoBlueSetup.as:71]

我曾经有过更多的错误,但现在这是唯一的错误。下面是创建错误的代码。 编辑:我做了一些调试,似乎错误来自这里:

public function levelUp(evt:MouseEvent):void
        {
            if (level == 1)
            {
                elementName.text = ("water");
                gotoAndPlay(1, "Level");
            }
                else if (level == 2)
            {
                elementName.text = ("sand");
                gotoAndPlay(1, "Level");
            }
            else if (level == 3)
            {
                elementName.text = ("???");
                gotoAndPlay(1, "Level");
            }
            }

提前致谢, -Raph

2 个答案:

答案 0 :(得分:1)

嗯,我不确定这是否能解决您的问题,但您的事件监听器目前没有参数。所有事件侦听器都必须将它侦听的事件作为参数。

所以而不是

function frameUp2():void

应该说

function frameUp2(e:TimerEvent):void

答案 1 :(得分:0)

似乎我修复了它...在函数levelUp我删除了行,使得动态文本elementName如果级别为1则说水,如果该函数被执行则无论如何都不会。下面是代码:

public function levelUp(evt:MouseEvent):void
        {
            if (level == 1)
            {
                gotoAndPlay(1, "Level");
            }
                else if (level == 2)
            {
                elementName.text = ("sand");
                gotoAndPlay(1, "Level");
            }
            else if (level == 3)
            {
                elementName.text = ("???");
                gotoAndPlay(1, "Level");
            }
        }

它不会抛出任何错误,并且就像我想要的那样。谢谢大家!! -Raph