我正在建立一个俄罗斯方块游戏,只是为了挑战自己,我被卡住了。我已将所有形状构建为函数,并放入一些部分,如x,y,block1x,颜色等。但是当我运行时
var currentShape = new shapeI(25,2);
拉伸();
function draw() {
ctx.fillstyle = currentShape.color;
ctx.fillRect(currentShape.block4X, currentShape.block4Y, 25, 25);
}
我在第5-9行遇到错误,说没有定义currentShape.color等。
在我的构造函数中,我将它们定义为:
function shapeI(x, y) {
this.color = "#e6ff00";
this.block4X = x;
this.block4Y = y;
我也以同样的方式定义了block2X等,但是我把代码缩小了,所以它不长。我认为我搞乱了语法或做错了什么但是当我在网上研究时,它似乎应该从最初的形状中获取这些值。我做错了什么?如何让currentShape制作shapeI的精确副本或我想要的任何其他形状,包括它的所有属性?