错误#2109一半时间

时间:2014-08-06 04:05:31

标签: actionscript-3 game-engine

我正在AS3中制作平台游戏。

一切都运行良好,除非有时(不是每次我都运行游戏),我都有这个错误:

ArgumentError: Error #2109: Frame label null not found in scene null.
    at flash.display::MovieClip/gotoAndStop()
    at PlatformGame/moveCharacter()[C:\...\PlatformGame.as:581]
    at PlatformGame/moveEnemies()[C:\...\PlatformGame.as:360]
    at PlatformGame/gameLoop()[C:\...\PlatformGame.as:348]

我不明白为什么它会随机发生..

你知道可能是什么问题吗?

这里是错误中的行:

第581行:

char.mc.gotoAndStop(char.walkAnimation[Math.floor(char.animstep)]);

第360行:

moveCharacter(enemies[i],timeDiff);

第348行:

moveEnemies(timeDiff);

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

你要求' mc' (包含在' char'中)转到数字的框架 包含在数组' walkAnimation'在索引:Math.floor(char.animstep)。

您所犯的错误意味着,出于某种原因,' Math.floor(char.animstep)'索引不存在于数组' walkAnimation'。

就像你写的那样:

var frame:Array = [1, 2, 3];
gotoAndStop(frame[10]);

frame [0]为1,frame [1]为2,frame [2]为3,但frame [10]未定义。