风族大帝 2013-08-10 16:15
浏览 2634

微信刮刮卡特效是怎么实现的?

我用HTML5的画布功能实现了个大概的样子,主要通过如下函数来清除像素:
canvas.node.ontouchmove = function(e) {
if (!canvas.isDrawing) {
return;
}
var touch = e.targetTouches[0];
var x = touch.clientX - this.offsetLeft;
var y = touch.clientY - this.offsetTop;
var radius=20;
ctx.clearRect(x, y, radius, radius);

};
但是clearRect这个函数在有的ANDROID4.1的自带浏览器重没有效果,如果把它放在响应函数外,即不通过事件响应来调用,比如:
canvas.node.ontouchmove = function(e) {
if (!canvas.isDrawing) {
return;
}
var touch = e.targetTouches[0];
var x = touch.clientX - this.offsetLeft;
var y = touch.clientY - this.offsetTop;
var radius=20;

    };

ctx.clearRect(x, y, radius, radius);
这样却能生效,还有大牛指点下迷津?
另:试了下,在2.3版本的自带浏览器能起效。更详细点的话,清除像素雷函数都不能起作用

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?
    • ¥100 求三轴之间相互配合画圆以及直线的算法
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题