我不明白为什么我会有这个问题.首先简单概述一下:下的绘制功能需要绘制一个图像,如果"centerEnabled"为真,图像将从它的中心绘制,如果"翻转"为真,图像将被翻转,问题是它将被正确翻转,但只有在中心被启用的情况下,如果不是,图像的坐标将被搞乱,并走出画布,在那里它看不到.
---- CODE ----个
draw()
{
this.global.ctx.save();
this.global.ctx.translate(this.getX() + this.getWidth()/2, this.getY() + this.getHeight()/2);
if(this.#flipped)
{
this.global.ctx.scale(-1, 1);
}
else
{
this.global.ctx.scale(1, 1);
}
this.global.ctx.rotate((this.angle * Math.PI) / 180);
//this.ctx.fillRect(-this.getWidth()/2, -this.getHeight()/2, this.getWidth(), this.getHeight()); //! DRAW HITBOX
if(this.#centerEnabled)
{
this.global.ctx.drawImage(this.#image, -this.getWidth()/2 , -this.getHeight()/2, this.getWidth(), this.getHeight());
}
else
{
this.global.ctx.drawImage(this.#image, this.getX(), this.getY(), this.getWidth(), this.getHeight());
}
this.global.ctx.restore();
}
如果有必要,这些是Contex用来绘制图像以获得图像的真实X、Y、宽度、高度的函数(因为一切都是响应的,但您可以将其视为正常的GET):
-- getX() --个
getX()
{
if(this.#centerEnabled)
{
return this.global.getSize(this.x,"vw") - (this.getWidth()/2);
}
else{
return this.global.getSize(this.x,"vw");
}
}
-- getY() --个
getY()
{
if(this.#centerEnabled)
{
return this.global.getSize(this.y,"vh") - (this.getHeight()/2);
}
else{
return this.global.getSize(this.y,"vh");
}
}
-- getWidth() --个
getWidth()
{
return (((this.global.getSize(this.size,this.#resizeRule) * this.#ratio) / 100.0) * this.#scaleX).toFixed(3);
}
-- getHeight() --个
getHeight()
{
return ((this.global.getSize(this.size,this.#resizeRule) / 100.0) * this.#scaleY).toFixed(3);
}
先谢谢你.