HTML5 Canvas函数用于旋转对象

时间:2016-11-29 23:46:25

标签: javascript html5 canvas matrix

我目前正在使用HTML5 / JavaScript创建的飞机上进行一些翻译。 我有一个矩阵类,我的飞机类和主类。 到目前为止,我已经获得了我的规模并转化为工作,但我正在努力让轮换工作。

以下是矩阵类中创建旋转的代码:

     Matrix.createRotation = function (rotation) {
    return new Matrix(Math.cos(rotation), -Math.sin(rotation), 0,
                      Math.sin(rotation), Math.cos(rotation), 0,
                      0, 0, 1);
};

和矩阵类中的Transform:

 Matrix.prototype.transform = function (pContext) {
    pContext.transform(this.getElement(0, 0), this.getElement(1, 0), this.getElement(0, 1),
    this.getElement(1, 1), this.getElement(0, 2), this.getElement(1, 2));
};

我知道他们没有任何问题,因为它通过了单元测试。

以下是用于旋转对象的方法

 function rotate() {
    var matrix = Matrix.createRotation(Math.PI);
    matrix.setTransform(mainContext);
};

这就是我所说的:

  initialiseCanvasContext();
scale(new Vector(1, 1));
drawPlane(new Vector(0, 0));
rotate();

对不起,如果这令人困惑,请告诉我。如果有的话。

0 个答案:

没有答案