gpt4 book ai didi

flash - drawRect 太大

转载 作者:行者123 更新时间:2023-12-04 07:03:45 25 4
gpt4 key购买 nike

这个非常简单的绘图命令创建了一个 11x11 像素的跟踪红色矩形:

_sp.graphics.lineStyle( 1, 0xFF0000, 1, true, LineScaleMode.NORMAL, CapsStyle.NONE, JointStyle.MITER, 3 );
_sp.graphics.drawRect( 10, 10, 10, 10 );

制作 10x10 像素的秘诀是什么?

如果我用相同的 drawRect 参数填充一个矩形,结果是 10x10 像素:
_sp.graphics.beginFill( 0xFF0000, 1 );
_sp.graphics.drawRect( 10, 10, 10, 10 );
_sp.graphics.endFill( );

我不想 drawRect( 10, 10, 9, 9 );因为这似乎是一个黑客。

最佳答案

当您绘制一个 10x10 的矩形时,就像在您的第二个代码片段中一样,Flash 会绘制您期望的内容。但是在您的第一个片段中,您正在围绕 10x10 矩形绘制矢量边缘。理论上,Flash 可以通过绘制围绕 10x10 矩形的 12x12 边或通过绘制与 10x10 矩形(从而围绕 8x8 矩形)重叠的 10x10 矩形来满足该请求。在实践中,Flash 将差异分割开来,选择在两条边上包围该形状,并将其重叠在另外两条边上。但即便如此,如果您开始绘制半像素等,您可能会发现行为略有不同,因为矢量绘制是一项复杂的业务,而 Flash 的渲染器经过高度优化。

要对绘制线条的位置进行像素级控制,您应该使用 moveTo() 单独绘制它们。和 lineTo() .

关于flash - drawRect 太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1419592/

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