如何在javascript中另一个函数的同一个类中的构造函数中引用对象?

时间:2018-12-22 18:50:14

标签: javascript

如何在另一个函数的相同类中的构造函数中引用对象?我尝试过控制台记录不同的击键,这似乎正在工作。不起作用的是在this.xthis.y中进行加减。而且似乎drawChar(this.x,this.y)也不起作用。这是代码:

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

var w = (canvas.width = window.innerWidth);
var h = (canvas.height = window.innerHeight);

function drawChar(x, y) {
  ctx.fillStyle = `black`;

  ctx.fillRect(x, y, 20, 20);
}

class Character {
  constructor() {
    this.x = w / 2;
    this.y = h / 2;
  }

  move(event) {
    let k = event.keyCode;

    if (k == 87) {
      this.y = this.y - 5;
    }

    if (k == 83) {
      this.y = this.y + 5;
    }

    if (k == 68) {
      this.x = this.x + 5;
    }

    if (k == 65) {
      this.x = this.x - 5;
    }

    drawChar(this.x, this.y);

  }
}

let player1;
player1 = new Character();

document.addEventListener("keydown", player1.move);

0 个答案:

没有答案