2011-06-19 10 views
1

私は、Silverlightで書かれた簡単なゲームを作成しています。私がしようとしているのは、Silverlightコードを変更したり再コンパイルすることなく、ゲームの外観(使用された画像、再生されたサウンド、ゲーム内のオブジェクトの位置)を変更できるようにすることです。Silverlightで設定を動的に読み込む

私が取ろうとしているアプローチは、Silverlightオブジェクトに「ID」を渡すことです。そのIDは、すべてのリソースのURLに注入されます。私は別のHTMLページを作成し、2のGameIDに渡すと

http://myServer.com/MyGame/1/Images/1.png

私は、映像や音声の完全に異なるセットを取得します。その部分は正しく動作しているように見えます(誤っている場合でも)。

しかし、画面上の特定のものの位置やゲームプレイに影響を与えるいくつかのルールなどの設定項目もあります。私はこれをXMLファイルに投げ込み、イメージとサウンドと同じアプローチを使用してファイルをロードするようにしましたが、動作させることはできません。私は、ファイルを同期してダウンロードする方法を見つけていません。

私は自分の「読み込み画面」をファイルを非同期でダウンロードし、ファイルを読んで/ゲームを設定してゲームを開始させました。しかし、それは私が車輪を再発明しているか、まったくばかげた何かをしているかもしれないという気持ちを得る。

これを実行するより良い方法はありますか?

+0

問題を解決するのに十分な情報を与えていません。 WebClientインスタンスを使用してXMLを非同期にダウンロードできるはずです。あなたにとって何が失敗しているのですか? – ColinE

+0

XMLファイルはUIを定義します。ダウンロードされて処理されるまで、私はユーザーに何も表示されません(おそらく一般的な読み込み画面は除きます)。私はちょうどこれのような何かを保存したりアクセスしたりするよりよい方法があるかどうか疑問に思っています。 –

+0

あなたが最終的に尋ねるように見える質問は、あなたが与えたタイトルに実際にはあまり関係しません。 – AnthonyWJones

答えて

0

ある程度、ホイールを再発明することになりますが、再発明しているホイールは特に複雑なものではありません。ビジネスアプリケーションのラインを作成する場合は、おそらくSilverlightツールキットのコントロールBusyIndicatorを使用します。このコントロールによって、重要なバックグラウンドアクティビティが実行されている間に、いくつかの「読み込み中...」UIが表示されます。

これは出発点として使用できますが、ゲームのグラフィックスに合わせてUIを表示するために、デフォルトスタイルと特にスタイルのデフォルトテンプレートを置き換えたいと思うかもしれません。

ただし、この機能のためだけにツールキットを組み込むことは、良いトレードオフにはなりません。独自のテンプレートを作成したら、テンプレートの後ろにある非常にシンプルなコントロールを再作成するのは非常に簡単です。だから、あなたはホイールを再作成したでしょうが、ほとんどの努力はあなたのゲームに特有のグラフィックスになり、残りはあなたのプロジェクトにツールキットdllを含める必要がないために価値のあるトレードオフになるかもしれません。

0

「何か」が進行中/進行中であることをユーザーが認識している限り、彼らは満足しています。ローディング画面は完全に受け入れられます。特に、ほとんどすべてのゲームが地図など負荷

関連する問題