2012-03-25 12 views
0

私はHaxeとアクションスクリプトのプログラミングを手がけましたが、私はフレックスで新しくなりました。ここに私の質問です。 AS3でサーバー(ブレーズ)から画像を取得する場合は、ローダーをLoaderにロードしてから、一部に追加します。 MovieClip。私はフレックスで画像をロードするために同じことをする必要がありますか?または、フレックススキーマのためにいくつかの共通点がありますか?イメージをフレックスで表示する

もう1つ質問があります。私がblazedsサーバー上にImageを持っていれば、それを入手するより良い方法は何でしょうか:それをjavaに渡す(つまりそれを読んでからクライアントに渡す)か、Loaderで指示しますか?

ありがとうございます!

答えて

2

通常、BlazeDSは、AMFで直列化されたオブジェクトを送信するために使用されます。それはByteArrayとして送信されるので、イメージのためにこれを行うために過度のように見えますが、あなたはそれを処理するリソースを費やすでしょう。可能であれば、特に画像が静的コンテンツの場合は、BlazeDSを実行しているサーバーであれば静的ファイルとして提供するほうがよいでしょう。

Flexで画像を使用するには、さまざまな方法があります。 Flexフレームワークにとって特に重要なことは、コンポーネントをImageコンポーネントのソースとして使用することですが、このコンポーネントは多少大きすぎて多くの作業を行うことができません。たとえば、このコンポーネントを使用すると、同じイメージのタイルを作成することは非常に効果的です。 BitmapImageは、Imageの軽量対応であることを意図していますが、すべての目的の機能を持つわけではありません(InteractiveObjectから継承されないため、マウスイベントに応答できません。私は、画像を使用する必要がある場合、私は通常、何

はこれです:私は(彼らのBitmapData再利用する)をプログラムでそれらをキャッシュする必要がある場合は

  1. 私はロードのために責任があるクラスを記述し、結果をキャッシュする。

  2. I UIComponentを拡張し、graphicsプロパティを使用して、与えられたBitmapDataを描画する非常に単純なコンポーネントを記述します。これにより、通常、複数のコンポーネントで同じBitmapDataを簡単に共有できます。

  3. このコンポーネントはupdateDisplayListメソッドをオーバーライドして、使用するBitmapDataのサイズを変更またはトリミングします。

私はLoaderを使用してイメージを読み込みます。実際には他の方法はありません。 ImageSWFLoaderBitmapImageなどの他のコンポーネントもローダーを使用しており、その上に何か価値のあるものを追加しません。

スライス9グリッドの機能が必要な場合は、Sparkのコンポーネントセットに何かが組み込まれている可能性がありますが、まだ自分自身でやっています。 Flexコンポーネントは本当に信頼されるべきではありません。

1

不要です。 spark.components.Imageオブジェクトのsourceプロパティを設定すると、イメージがロードされます。

swfファイルをロードする場合は、同じ方法でmx.controls.SWFLoaderを使用できます。

+0

ありがとうございました! 'Image'や' Loader'はどんなに頻繁に使われますか? – Eugeny89

+0

'Image'は面倒な軽量バージョンです。背後では、 'Image'は' Loader'を使用しますが、イメージを表示したいだけならプログラマーは心配する必要はありません –