AS3 добавить границу для объекта отображения - PullRequest
1 голос
/ 29 июня 2011

Я знаю, как нарисовать прямоугольник и добавить его в DisplayObjectContainer, но вы видите более простой метод для непосредственного добавления границы к DisplayObject?

У DisplayObject, похоже, нет addChild (), поэтому мне пришлось бы добавить его в родительский элемент, что, на мой взгляд, не идеально ...

Ответы [ 3 ]

3 голосов
/ 29 июня 2011

Я бы создал прозрачную заливку и добавил бы ее к объекту DisplayObject следующим образом:

Редактировать : рисование непосредственно в DisplayObject

this.graphics.lineStyle(1, 0x000000);
this.graphics.beginFill(0x000000, 0);
this.graphics.drawRect(0, 0, 50, 50);
this.graphics.endFill();
2 голосов
/ 29 июня 2011

простой способ добавить границу к чему-либо - использовать Glow Filter :

var _objectToBorder:Sprite = new Sprite();
// draw something or add something in the _objectToBorder
var glowFilter:GlowFilter = new GlowFilter(0x000000, 1, 6, 6, 20, 1);
_objectToBorder.filters = [glowFilter];

Вы можете играть с этим онлайн-демо . Нажмите на зеленый кружок, чтобы переключить границу свечения.

Имейте в виду, что использование фильтров может ухудшить производительность, если используется для тонны предметов.

0 голосов
/ 29 июня 2011

Я думаю, что если вы вынуждены использовать DisplayObject, а не DisplayObjectContainer, то у вас нет другого выбора, кроме как написать свою границу для родителя тем или иным способом.Согласен, однако, это не очень хороший способ сделать что-то, и я думаю, что, если это возможно, лучшим подходом будет не использовать DisplayObject.

Редактировать: Как вы создаете это как DisplayObject?Вы не можете создать экземпляр displayObjects напрямую, так это расширение DisplayObject или возвращаемое значение чего-либо?

...