我有一个对象,想在画布上进行绘制。它将使用requestAnimationFrame
来启动游戏循环:
Contoso.ts
class Contoso
{
//private ctx: CanvasRenderingContext2D;
Initialize(ctx: CanvasRenderingContext2D) {
//this.ctx = ctx;
Render();
}
Render() {
//...snip doing any actual drawing for the purpose of this question
requestAnimationFrame(this.Render);
}
}
app.ts
var contoso: Contoso;
contoso = new Contoso();
contoso.Initialize(canvas);
第一次调用Initialize
时,requestAnimationFrame
成功调用了Render
。
第二次requestAnimationFrame
调用Render
时,this.Render
是undefined
,导致程序崩溃。
似乎在第一次调用Initialize
后,对象就被销毁了。
到底发生了什么?
this
的视频:https://www.youtube.com/watch?v=tvocUcbCupA&hd=1 - basarat