2011-06-29 2 views
1

この質問がここに属しているかどうかはわかりませんが、試してみます。だから私は私のプロジェクトをDirector | Shockwave Player(これまで聞いたことがある場合)をFlash Playerに数多くの理由で提供しています。私はより良いスタート方法を考えているうちに、私は本当に私を驚かせてくれました。ポイントへ。Flashでの動的UIウィンドウの描画?

現在、取締役で(それらの要素の多くの小規模なアラートや大きな窓など)、ユーザー・インターフェース内の各ゲームウィンドウが必要時を描かれている - 実際のウィンドウのグラフィックイメージは、コンフィギュレーションから一緒に置かれていることを意味し(すべてのウィンドウの背景は、4つのコーナーのような9つの小さなピース、動的な幅と高さのコーナーの間の4つの中間ピース、および1つの中央ピース(例えば、ピースの幅と高さとすべての要素とそのプロパティ)ウィンドウ)をクリックし、ステージに追加します。この方法では、実際のウィンドウと、その中のすべてを再描画せずに、各グラフィック要素を簡単に編集することができます。また、要求されたときにのみウィンドウが描画されるので、リソースを節約します。

は今、私はそれがFlashで、このようなコードを書く価値があるかどうかを把握するようになっただけですべてのウィンドウを作成し、ライブラリにそれらを配置し、それらが要求されたときにステージに追加するにはあまりにとして反対。どう思いますか?そのような実装を書く価値はありますか?

+0

アプリケーション(ゲーム、バックオフィス、ウェブページ)の使命は何ですか? –

+0

@Xavi、それはMMOゲームです。 – Rihards

答えて

1

IMO、それはあなたがFlashの描画API /グラフィックスクラスであるどのように快適に、そして2)各ウィンドウ/ダイアログをする必要がありますどのように柔軟な)1に依存します。

それだけで静的オブジェクトとしてそれらを一緒にスローするように簡単だ - と、彼らは必ずしもずっと寸法/スタイルを変更するための柔軟性を必要としない場合には(あなたは、彼らがいるので変更する必要てきた回数を片手で数えることができますもともとディレクターで何年も前に行われたことですが)、特に、Flashの描画APIにあまり慣れていない場合は、時間とエネルギーを動的に再作成するよりも、明らかに簡単です。

これは、Flashの描画APIを使用して動的に多くの作業を行うことができるため、時間と関心があれば、図面に慣れたい場合には、 API。

この種のものを行うための私の方法は、通常はこのように書きます:

  • スプライト/ムービークリップを拡張する別のクラスを作成します。 'Dialog.as'のようなもの。
  • は、公共のinit()、ショー()、および非表示()メソッド、およびプライベートビルド()メソッドを作成します。
  • のinit()はあなたのアプリケーションの初期化時に一度だけ呼ばれ、内部的に(パディング、色など)を保持するためにいくつかのグローバルパラメータを取ります。
  • ショーは、()、テキスト(文字列)のいずれかの引数をとる、あるいはスプライト/ムービークリップ - それが何であれ、あなたがこのダイアログに表示します。呼び出されたとき(ウィンドウを生成したいとき)は、init()中に最初に渡されたinitパラメータに加えて、それ自体を描画し、自身を再表示します(alphaプロパティをトゥイーンするか、 .visibleプロパティ)。
  • ダイアログを閉じるときは、hide()メソッドを呼び出す必要があります。hide()メソッドは最初に非表示になり、次に作成されたものをクリーンアップしてリスナーなどを削除します。それ自身を新鮮に描く。
また、それがセンター、サイズ自体に応じてステージ上に、また自身をにaddChildすることができるように、このオブジェクトに(元のinit()呼び出しで)ステージへの参照を渡すために意味をなす可能性がある

表示リストの上部に表示され、常に他のすべての上に表示されます。

こちらがお役に立てば幸いです。

+0

オハイオ州、この回答のために多くの感謝 - 私はそれが未回答になると思った。夜間にどの道を選ぶべきかを考えます。あなたが提供した良い点をもう一度おねがいします! :) – Rihards

+0

あなたは具体的な事例を自由にお聞きしたいと思っていれば、私はあなたと一緒に作業を始めるための素早いクラスを一緒に投げようとします。 – TimKlimowicz

関連する問題