as3 - передача прямоугольника в sprite.graphics.drawRect () - PullRequest
0 голосов
/ 05 марта 2011

Есть ли аккуратный минимальный способ сделать это?(это выдает ошибку):

var freeSpace = shape.freeSpace() // returns Rectangle

var s:Sprite = new Sprite();

s.graphics.drawRect(freeSpace);

Просто ищу более чистый способ, отличный от .drawRect(freeSpace.x, freeSpace.y, freeSpace.w, freeSpace.h)

Я знаю, что вы можете сделать это с bitmapData.fillRect(rectangle), но нужны спрайтыв этом случае.

1 Ответ

1 голос
/ 05 марта 2011

Вы можете написать свой собственный класс, который расширяет Sprite

public class SpritePlus extends Sprite

и метод, который делает это:

public function drawRect(rect:Rectangle):void {
  this.graphics.drawRect(rect.x, rect.y, rect.width, rect.height);
}

Теперь вы можете сделать это:

var freeSpace:Rectangle = shape.freeSpace();
var s:SpritePlus = new SpritePlus();
s.drawRect(freeSpace);

Но, на мой взгляд, можно использовать нативный метод Sprite.

s.graphics.drawRect(freeSpace.x, freeSpace.y, freeSpace.width, freeSpace.height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...