AS3 - 不平衡堆栈?

时间:2010-12-08 15:00:22

标签: actionscript-3

我正在尝试使用我的库中的影片剪辑Block为游戏创建一个棋盘。我的代码位于链接的actionscript文件中,如下所示:

package {
import flash.display.*;

public class Plethora extends MovieClip {

        public function Plethora(): void {
        var m:uint=200;
        var n:uint=200;
        var boardArray:Array = [[0, 1, 0], [0, 1, 0], [1, 0, 1]];
        for (var i:uint=0; i < 3; i++) {
            for (var j:uint=0; j <3; j++) {
                if (boardArray[i,j] == 1){
                    var thisBlock: Block = new Block();
                    thisBlock.stop();
                    thisBlock.x = m;
                    thisBlock.y = n;
                    addChild(thisBlock);
                }
                m = m -50;
            }
            n = n - 50;
        }
    }
}
  }

当我测试它时,我得到以下输出:

          verify Plethora$iinit()
                        stack:
                        scope: [global Object$ flash.events::EventDispatcher$  flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ Plethora$] 
                         locals: Plethora * * * * * * 
  0:getlocal0
                        stack: Plethora
                        scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ Plethora$] 
                         locals: Plethora * * * * * * 
  1:pushscope
                        stack:
                        scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ flash.display::Sprite$ flash.display::MovieClip$ Plethora$] Plethora 

...

                         locals: Plethora? uint uint Array? uint uint Block 
  136:findpropstrict addChild
                        stack: Array? Plethora
                        scope: [global Object$ flash.events::EventDispatcher$ flash.display::DisplayObject$ flash.display::InteractiveObject$ flash.display::DisplayObjectContainer$ 

我几乎没有想到这些甚至可能意味着什么。我很感激有关如何开始调试的一些提示。

1 个答案:

答案 0 :(得分:3)

Block MovieClip内部可能会出现奇怪的内容。你有代码吗?您的2D数组语法也不正确:

boardArray[i, j]

应该是:

boardArray[i][j]

在进行了更改后,我将您的代码复制到精彩并运行它 - 它似乎工作正常。 Have a look.