清晰的html5问题

发布于 2024-10-21 03:40:56 字数 480 浏览 0 评论 0原文

我有这个代码

function clear(){
    context2D.clearRect(0, 0, canvas.width, canvas.height);
}


function desenhaBonecoDir(){

    clear();
    context2D.setTransform(1, 0.30, 1, -0.30, 10, 380);//problem here
    context2D.drawImage(bonecoRight, x, y);
    x += -10 * xDirection;
}

在此处输入图像描述

如果我删除评论“此处问题”的行,则脚本运行良好,但如果我用设置的变换改变视角,我不知道为什么,图像被复制但未删除,结果是当我按下按键时重复图像

有帮助吗?

谢谢

i have this code

function clear(){
    context2D.clearRect(0, 0, canvas.width, canvas.height);
}


function desenhaBonecoDir(){

    clear();
    context2D.setTransform(1, 0.30, 1, -0.30, 10, 380);//problem here
    context2D.drawImage(bonecoRight, x, y);
    x += -10 * xDirection;
}

enter image description here

if i delete the line where i comment "problem here", the script works well, but if i change the perspective with the set transform i don't know why, the image is copied but undeleted,the result is a repeated image when i press the keys

Any help?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心安伴我暖 2024-10-28 03:40:56

该问题是由于更改视角引起的,但在清除视角时却没有将其改回来,因此它清除了“视角”而不是整个画布,请尝试下面的操作。它的作用是保存当前的视角,然后将其更改为您需要的任何内容,绘制等,然后恢复恢复以前的视角,以便您恢复正常的坐标。

context2D.save();
context2D.setTransform(1, 0.30, 1, -0.30, 10, 380);
context2D.drawImage(bonecoRight, x, y);
context2D.restore();

稍微修改一下你的代码以显示它的工作原理。
http://jsfiddle.net/89yjG/1/

评论保存并恢复,您会注意到的文物。

The problem is caused from changing the perspective, but not changing it back when you clear it, so it clears the "perspective" and not the whole canvas, try below. What it does is saves the current perspective, you then change it to whatever you need, draw etc, then restore restores the previous perspective so you get your normal coords back.

context2D.save();
context2D.setTransform(1, 0.30, 1, -0.30, 10, 380);
context2D.drawImage(bonecoRight, x, y);
context2D.restore();

Modified your code just a bit to show it working.
http://jsfiddle.net/89yjG/1/

Comment save, and restore and you'll notice the artifacts.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文