我正在使用Javascript制作游戏并挑战自己,我会使用OOP在ES6中制作游戏。 我习惯用Java编程。
唯一的问题是没有场?在那儿? 我无法让我的ctx找到我在构造函数中创建的ctx。
所以我使用我的构造函数来设置一些变量,但我无法从我的Update方法访问它们,我已经尝试了很多。 有人可以告诉我如何正确地将变量设置为类中的私有,但可以访问类中的所有内容。
constructor(){
this.x = 400;
this.y = 250;
this.enemySpeed = 2;
this.spawnRate = 10;
this.enemy = [];
this.canvas = document.getElementById("myCanvas");
this.ctx = this.canvas.getContext("2d");
this.player = new Player(this.x, this.y);
this.generateEnemies();
setInterval(this.Update, 1000/60);
}
Update(){
this.ctx.clearRect(0, 0, 800, 500);
this.player.moveCheck();
this.player.playerMove();
for(let i = 0; i < this.spawnRate; i ++){
this.enemy[i].enemyMove(this.enemySpeed);
}
}