2011-06-29 101 views
1

我知道如何绘制矩形并将其添加到DisplayObjectContainer, ,但是您是否看到一种更简单的方法来直接向DisplayObject添加边框?AS3向显示对象添加边框

的DisplayObject似乎不具备的addChild(),所以我将不得不增加它的母公司,这是不是在我看来完美...

回答

0

我认为,如果你不得不使用的DisplayObject而非级DisplayObjectContainer,那么你没有太多的彩而不是以这种或那种方式将边界写入父项。尽管如此,这并不是一种很好的做事方式,我认为如果可能的话,更好的方法是不使用DisplayObject。

编辑:你是如何创建DisplayObject的?你不能直接实例化displayObjects,所以这是DisplayObject的扩展还是返回值?

+0

我制作了一个外部swf,我和Haxe联系在一起。所以这是一个包含MovieClip和Bitmap的MovieClip ...也许我需要一个演员阵容... – Jimy

+0

验证后,它应该是一个MovieClip。我只需要找到方法来施放它。谢谢。 – Jimy

+0

尝试'MovieClip(myDisplayObject).doWhateverYouWant()' – shanethehat

3

我会创造一个透明填充形状,并将其添加为DisplayObject是这样的:

编辑:直接绘制为DisplayObject

this.graphics.lineStyle(1, 0x000000); 
this.graphics.beginFill(0x000000, 0); 
this.graphics.drawRect(0, 0, 50, 50); 
this.graphics.endFill(); 
+0

是的,这就是我想要做的,但我的对象是一个DisplayObject,所以没有addChild()。只有DisplayObjectContainer才有:/ – Jimy

+0

更新了我的答案... –

+0

DisplayObject没有图形对象:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html – shanethehat

2

一个简单的方法来添加边框的东西是使用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]; 

你可以用这个online demo玩。点击绿色圆圈切换辉光边界。

请记住,如果使用过滤器可以在大量物品上使用,则可能会损害性能。