在我的ActionScript 3项目中,FXG图形会汇入为SpriteVisualElement
的实体,如下所示:
// with the FXG file myPackage/myFXGFile.fxg
import myPackage.myFXGFile;
var myFXG:SpriteVisualElement = new myPackage.myFXGFile();
addChild( myFXG );
FXG文件中的“帧”是使用<Graphic>
的viewWidth
和viewHeight
属性定义的。下面是一个简单图像的示例。它由一个矩形和一个更大的矩形组成,只有前者是视图“帧”的一部分。
<?xml version="1.0" encoding="utf-8"?>
<Graphic viewWidth="100" viewHeight="200" xmlns="http://ns.adobe.com/fxg/2008" version="2">
<Rect id="rect1" width="120" height="240" x="-10" y="-20">
<fill><SolidColor color="#FF0000"/></fill>
</Rect>
<Rect id="rect1" width="100" height="200" x="0" y="0">
<fill><SolidColor color="#0000FF"/></fill>
</Rect>
</Graphic>
在代码中,我需要知道这个框架的尺寸,即viewWidth
和viewHeight
的值,有没有办法从导入的文件中获取它们?有没有办法不需要手动解析FXG文件?
更新:我刚刚查看了SpriteVisualElement
可用的所有方法和属性,getPreferredBoundsWidth()
和-Height()
似乎能完成我所寻找的内容。不过,我对Flex源代码没有足够的信心来找到这些值的来源,而且有几个条件让我不确定。这是正确的和推荐的方法吗?
1条答案
按热度按时间bmp9r5qi1#
SpriteVisualElement
是继承自FlexSprite
和flash.display.Sprite
的类别。FXG是下列的执行严修:如果使用ActionScript将FXG组件添加到应用程序中,则该组件得类型应为
SpriteVisualElement
.除了上述
getPreferredBoundsWidth()
和getPreferredBoundsHeight()
之外,还有另外两种方法:有没有不需要手动解析FXG文件的解决方案?
使用FXG Editor作为替代。
参考资料