未捕获的TypeError:无法读取未定义的属性'render'

时间:2015-02-25 07:52:31

标签: javascript canvas

我还在学习如何在这样的画布上做东西。在y坐标中渲染矩形对象。

function initCanvas(){
var ctx = document.getElementById('canvas').getContext('2d');
var cW = ctx.canvas.width, cH = ctx.canvas.height;
var y = 0, x = 0;

function rectObj(){
    this.x = 0, this.y = 0;
    this.render = function(ctx, lx, ly, lw, lh, clr){
        ctx.fillStyle = clr;
        ctx.fillRect(lx, ly, lw, lh);
    }
}

var a = rectObj();

function animate(){
    ctx.clearRect(0,0, cW, cH);
    a.render(ctx, 0, a.y, 50, 50, "blue");
    a.y++;
}
var animateInterval = setInterval(animate, 30);

}window.addEventListener('load', function(event){ initCanvas(); });

1 个答案:

答案 0 :(得分:1)

您应该使用new运算符调用该函数:

var a = new rectObj();