as getRect(),getBounds()

转自:  http://hi.baidu.com/miracle5460/item/08c884602cb1b890c5d249e8



getRect()方法返回的矩形大小是不把笔触大小算进去的,而getBounds()方法返回的矩形大小把笔触大小算进去,因此getBounds() 返回的矩形面积 >= getRect() 返回的矩形面积

代码如下:

import flash.display.CapsStyle;
import flash.display.JointStyle;
import flash.display.LineScaleMode;
import flash.display.Sprite;
import flash.geom.Rectangle;

var triangle:Sprite = new Sprite();
var color:uint = 0xFF0044;
var wid:Number = 20;
var al:Number = 1.0;
var pixelHinting:Boolean = true;
var scaleMode:String = LineScaleMode.NORMAL;
var caps:String = CapsStyle.SQUARE;
var joints:String = JointStyle.MITER;
triangle.graphics.lineStyle(wid, color, al, pixelHinting, scaleMode, caps, joints);

var triangleSide:Number = 100;
triangle.graphics.moveTo(0, 0);
triangle.graphics.lineTo(0, triangleSide);
triangle.graphics.lineTo(triangleSide, triangleSide);
triangle.graphics.lineTo(0, 0);


var rect:Rectangle = triangle.getRect(this);
var bound:Rectangle = triangle.getBounds(this);


triangle.graphics.lineStyle(0,0x00ff00);
triangle.graphics.drawRect(rect.x,rect.y,rect.width,rect.height);
triangle.graphics.lineStyle(0,0xff0000);
triangle.graphics.drawRect(bound.x,bound.y,bound.width,bound.height);


addChild(triangle);


trace(bound); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1)
trace(rect);     // (x=0, y=0, w=100, h=100)

运行截图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值