createjs.Shape()不适用于OOP JavaScript

时间:2015-10-06 06:52:10

标签: javascript oop shape createjs

我正在尝试在JavaScript中使用Paddle类启动shape var,但它不想渲染它。如果我在init函数中定义shape var,代码工作正常。

代码

var Paddle = function(sizeX, sizeY){
    var posX, posY;
    var sizeX, sizeY;

    this.sizeX = sizeX;
    this.sizeY = sizeY;

    shape = new createjs.Shape();
}

var paddle1 = new Paddle(25, 75);

function init(){

    var stage = new createjs.Stage("canvas");

    //shape = new createjs.Shape();
    paddle1.shape.graphics.beginFill("blue").drawRect( 15, 0, paddle1.sizeX, paddle1.sizeY);

    stage.addChild(paddle1.shape);

    stage.update();

    createjs.Ticker.setFPS(60);
    createjs.Ticker.addEventListener('tick', stage);
    createjs.Ticker.addEventListener('tick', update);
}

function update(){

    stage.update();
}

1 个答案:

答案 0 :(得分:1)

假设您正在呼叫init()(代码中未显示),那么您在控制台中会发现paddle1.shape不是对象的错误。那是因为你忘记了this

this.shape = new createjs.Shape();

这里有效:http://jsfiddle.net/gskinner/Lz33kaqb/