类型1061:通过静态类型slotmachine的引用调用可能未定义的方法addChild:SlotMachineGame

时间:2013-02-20 20:44:04

标签: flash addchild

我对这部分代码有问题,它应该将这些部分添加到一个数组中,但我不断收到此错误。 这是代码的一部分:

    function addPiece(xCoord:Number,yCoord:Number,id:Number){
        classLoader = getDefinitionByName("piece"+id) as Class;
        var tmp:Piece = new classLoader();
        tmp.x = xOffSet+(xCoord * 128);
        tmp.y = yOffSet+(yCoord * 128);
        tmp.id = id;
        //trace("===>"+tmp.x + ","+tmp.y)
        pieces.push(tmp);
        this.addChild(tmp);
    }

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您正在调用类的方法,而不是类的实例,从静态方法调用addPiece(),其中this在当前范围内不可用。

将片段添加到老虎机游戏类的实例中:

var slotMachine:SlotMachine = new SlotMachine();
slotMachine.addPiece(0, 0, 1);

否则,如果从静态方法调用,则当前上下文中不存在this.addChild()