gpt4 book ai didi

javascript - 脏矩形 - 清除的矩形不再出现

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:13 25 4
gpt4 key购买 nike

我想加快我的游戏速度,而不是清除所有 Canvas ,我只清除部分(有动画的地方)。这是我的代码的一部分:

this.draw = function(context) {
context.clearRect(this.oldx, this.oldy, this.width, this.width);
if (this.type == "square") {
context.fillRect(this.x, this.y, this.width, this.height);
}
this.oldx = this.x;
this.oldy = this.y;
}

ClearRect 有效,但它不能清除整个矩形。所有的方 block 都应该是黑色的,但它们不是(似乎 fillRect 不起作用,但我认为它有效)。在那里你可以看到发生了什么:...我使用这个函数(clearRect)错了吗?为什么它不起作用?

最佳答案

  1. clearRect 不会清除整个矩形可能是因为您的浏览器中的抗锯齿实现。我认为将 clearRect 区域扩展一个像素会对您有所帮助。也尽量避免为 Canvas 设置宽度/高度,这会改变 View 并且某些对象可能会显示模糊

  2. 关于你的代码,地面矩形永远不会是黑色的,因为在 drawMap 函数中你只为一个对象调用了 this.obiekt1.draw 方法,所以你循环清除先前绘制的区域。尝试提取 clear 方法或为每个 map block 创建单独的对象。

关于javascript - 脏矩形 - 清除的矩形不再出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com