ГлавнаяActionScript 3 — «100 советов» › getBounds() и getRect()

getBounds() и getRect()

June 19th, 2006
Как и в ActionScript 1 и 2, в ActionScript 3 есть метод getBounds() (flash.display.DisplayObject.getBounds()), который вычисляет границу мувиклипа в системе координат любого объекта на timeline. Но в ActionScript 3 метод getBounds возвращает Rectangle (flash.geom.Rectangle) вместо Object со свойствами xMin, xMax, yMin, yMax, как это было раньше.
В ActionScript 3 еще добавлен новый метод getRect() (flash.display.DisplayObject.getRect()), который выполняет аналогичную задачу, но в отличие от getBounds не учитывает толщину линий (strokes on shapes).
В качестве наглядного примера, красный прямоугольник высчитывается по getBounds, а синий по getRect:

Код:
var sprite:Sprite = new Sprite(); sprite.graphics.beginFill(0x999999); sprite.graphics.lineStyle(10, 0x333); sprite.graphics.drawCircle(100, 100, 50); sprite.graphics.endFill(); addChild(sprite); addChild(createRectShape(sprite.getRect(this), 0x0000FF)); addChild(createRectShape(sprite.getBounds(this), 0xFF0000)); function createRectShape(rect:Rectangle, color:uint):Shape { var rectShape:Shape = new Shape(); rectShape.graphics.lineStyle(0, color); rectShape.graphics.drawRect(rect.left, rect.top, rect.width, rect.height); return rectShape; }

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Изменения в typeof Разница между for..in и for each..in
  1. Пока без комментариев.
  1. Пока нету.