我需要在画布 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 永远不会执行......
我该怎么做?是否有另一种“检测”函数调用的方法?
谢谢。