graphics.drawRect()坐标解释

var shape:Shape=new Shape  ;
shape.graphics.beginFill(0xffcc00);
shape.graphics.drawRect(0,0,100,100);
//shape.graphics.drawRect(88,88,100,100);
shape.graphics.endFill();
addChild(shape);
trace(shape.x);  //输出:0
trace(shape.y);  //输出:0
//trace(shape.x);  输出:88
//trace(shape.y);  输出:88

    先创建一个Shape类型对象shape,注意到整个代码里从未为它指定x、y坐标,因此为系统默认的x=0、y=0(shape因为是添加到舞台,因此它的坐标是全局坐标);然后调用drawRect方法在它上面绘制一个宽高均为100的正方形,并设置此正方形的x=0、y=0、width=100、height=100,,注意:这段代码执行原理是:绘制一个正方形,再添加到shape上面(或者说在shape上面绘制正方形),因此正方形是shape的子可视对象(只是它没有名称而已),它的坐标(drawRect方法里写的坐标)是相对于shape的坐标,并不是相对于舞台的全局坐标。

原文地址:https://www.cnblogs.com/leon3286/p/1774533.html