Flash/Actionscript线条粗细将在lineTo中给出的坐标之外绘制线条
这是我在使用AS绘图时遇到的一个非常基本的问题。假设我有以下代码Flash/Actionscript线条粗细将在lineTo中给出的坐标之外绘制线条,flash,actionscript,drawing,line,Flash,Actionscript,Drawing,Line,这是我在使用AS绘图时遇到的一个非常基本的问题。假设我有以下代码 g.lineStyle(20, 0xff0000, 1, false); g.moveTo(10, 10); g.lineTo(210, 10); 因为线的厚度是20。这将实际绘制一条从(0,0)到(220,20)的矩形线。i、 e.厚度/2将添加到每个尺寸中 我想知道: 1.这是对的还是我弄错了? 2.因此,每次我们需要在不希望被限制在某个范围内的地方画一条线,例如,画一个内边界,我们需要考虑到这一点,这样线就不会超出特
g.lineStyle(20, 0xff0000, 1, false);
g.moveTo(10, 10);
g.lineTo(210, 10);
因为线的厚度是20。这将实际绘制一条从(0,0)到(220,20)的矩形线。i、 e.厚度/2将添加到每个尺寸中
我想知道:
1.这是对的还是我弄错了?
2.因此,每次我们需要在不希望被限制在某个范围内的地方画一条线,例如,画一个内边界,我们需要考虑到这一点,这样线就不会超出特定区域。这也是正确的吗?是的,1)是正确的。对于2)实际上getRect()方法不会考虑笔划宽度。下面是一个代码:
stop();
var mc:MovieClip = new MovieClip();
var gr:Graphics = mc.graphics;
//Draw a rectangle 50x50
gr.lineStyle(20);
gr.beginFill(0, 0.5);
gr.drawRect(0, 0, 50, 50);
gr.endFill();
this.addChild(mc);
//Will trace (x=0, y=0, w=50, h=50)
trace(mc.getRect(this));
//Will trace (x=-10, y=-10, w=70, h=70)
trace(mc.getBounds(this));