1

私の ActionScript 3 プロジェクトでは、FXG グラフィックはSpriteVisualElement次のようにインスタンスとしてインポートされます。

// with the FXG file myPackage/myFXGFile.fxg
import myPackage.myFXGFile;
var myFXG:SpriteVisualElement = new myPackage.myFXGFile();
addChild( myFXG );

viewWidthFXG ファイルには、およびviewHeightのプロパティを使用して定義された「フレーム」があります<Graphic>。単純なイメージの例を次に示します。これは、より大きな長方形を中心とした長方形で構成され、前者のみがビューの「フレーム」の一部です。

<?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 ソースに十分な自信がありません。また、いくつかの条件により確信が持てません。これは正しく推奨される方法ですか?

4

1 に答える 1

0

SpriteVisualElementFlexSpriteとを継承するクラスですflash.display.Sprite。FXG は次の例です。

ActionScript を使用して FXG コンポーネントをアプリケーションに追加する場合、タイプはSpriteVisualElement.

getPreferredBoundsWidth()前述のと以外に 2 つの方法がありますgetPreferredBoundsHeight()

getLayoutBoundsHeight () メソッド   
public function getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4
ランタイム バージョン: Flash Player 10、AIR 1.5

要素のレイアウトの高さを返します。これは、要素が画面上に描画するために使用するサイズです。

パラメーター
    postLayoutTransform:Boolean (default = true) — postLayoutTransform が true の場合、メソッドは要素の境界ボックスの幅を返します。境界ボックスは要素の親座標空間にあり、要素のレイアウト サイズとレイアウト変換行列から計算されます。

戻り値
    Number — 要素のレイアウトの高さ。


getLayoutBoundsWidth () メソッド   
public function getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number

言語バージョン: ActionScript 3.0
製品バージョン: Flex 4
ランタイム バージョン: Flash Player 10、AIR 1.5

要素のレイアウト幅を返します。これは、要素が画面上に描画するために使用するサイズです。

パラメーター
    postLayoutTransform:Boolean (default = true) — postLayoutTransform が true の場合、メソッドは要素の境界ボックスの幅を返します。境界ボックスは要素の親座標空間にあり、要素のレイアウト サイズとレイアウト変換行列から計算されます。

戻り値
    Number — 要素のレイアウト幅。

FXG ファイルを手動で解析しない解決策はありますか?

代わりにFXG エディタを使用してください。

参考文献

于 2016-09-26T16:18:34.247 に答える