如何在另一个函数的相同类中的构造函数中引用对象?我尝试过控制台记录不同的击键,这似乎正在工作。不起作用的是在this.x
和this.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);