キャンバス 2D コンテキストで行われる関数 drawImage() の呼び出しごとに、いくつかのコードを実行する必要があります。
game.canvas = document.getElementById('canvas');
game.ctx = game.canvas.getContext("2d");
残念ながら、見た目ほど簡単ではありません。
私はこれをやろうとしました:
game.ctx.drawImageOld = game.ctx.drawImage;
game.ctx.drawImage = function(i,x,y,u,v){console.log("ok"); game.ctx.drawImageOld(i,x,y,u,v);}
game.ctx.drawImage(myImage, 10, 10);
// logs "ok" two times on FF
この
CanvasRenderingContext2D.prototype.drawImageOld = CanvasRenderingContext2D.prototype.drawImage;
CanvasRenderingContext2D.prototype.drawImage = function(i,x,y,u,v){console.log("ok"); this.drawImageOld(i,x,y,u,v);}
game.ctx.drawImage(myImage, 10, 10);
// logs "ok" two times
しかし、ネイティブの drawImage は決して実行されません...
どうすればいいですか?関数呼び出しを「検出」する別の方法はありますか?
ありがとう。