【发布时间】:2017-02-15 23:44:58
【问题描述】:
我正在尝试用 Javascript 制作一个简单的 Pong 游戏。我有一个 Pong 类,我想创建一个方法来根据鼠标的移动方式移动播放器矩形:
class Player
{
constructor()
{
// do stuff
}
}
class Pong
{
constructor(canvas)
{
//do stuff
this.player1 = new Player(true); // Create an instance of another class
}
handleMouseMove(event)
{
var y = event.clientY;
// this.player1 is undefined!!
console.log("this.player1: "+this.player1);
this.player1.pos.y = y;
}
function main()
{
// Initialize canvas and context
canvas = document.getElementById('mycanvas');
const pong = new Pong(canvas);
canvas.addEventListener('mousemove', pong.handleMouseMove);
}
每当我开始移动鼠标时,它都会告诉我 player1 未定义。如何将类方法设置为事件监听器并让它知道类的成员?
【问题讨论】:
-
你的
Player班级在哪里? -
Player 类在 Pong 类之外,但在同一个文件中。我将编辑我的问题以表明这一点。
标签: javascript addeventlistener