問題タブ [xna]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ゲームオブジェクトの設計
私は最近、Microsoft XNA と C# を使用して、自分の娯楽のために小さなゲームに取り組み始めました。私の質問は、ゲーム オブジェクトとそれを継承するオブジェクトの設計に関するものです。画面にレンダリングできるものとしてゲーム オブジェクトを定義します。そのため、レンダリングが必要な他のすべてのオブジェクトが継承する、GameObject と呼ばれる基本クラスを作成することにしました。以下のコードは、私が作成したクラスです。
オブジェクトの回転、移動、描画などを行う追加のメソッドは省略しました。船などの別のオブジェクトを作成したい場合は、GameObject を継承する Ship クラスを作成します。以下のサンプルコード:
繰り返しになりますが、ミサイルの発射など、船固有の追加の方法は省略しました。このようなデザインは良いと思いますか、それとも何か改善したり、完全に変更したりする必要がありますか? 子クラスのコンストラクターがごちゃごちゃしているように見えますが、それが唯一の方法なのかもしれません。私はこのようなことをしたことがなく、軌道から外れているのではないかと思っています。
答えを残してくれたすべての人に感謝します。それらはすべて非常に役に立ちました。MVC パターンを使用するように変更することが最善であるという一般的なコンセンサスがあるようです。具体的にどのようにすればよいか、さらに詳しく見ていきます。また、ほとんどのコンストラクターを削除し、コンストラクターを 1 つだけにします。これは、modelResource の後のすべての引数がオブジェクトの作成に必要ではなく、メソッド呼び出しによって後ですべて変更できるためです。
xna - XBOX 360 で DVD または CD から XNA でコンパイルされたゲームを実行しますか?
XBOX 360 用にコンパイルされた XNA ゲームを DVD または CD から実行することは可能ですか? それとも HD にコピーする必要がありますか?
.net コンパクト フレームワークの一部ではないライブラリを XBOX 360 プロジェクトに含めることはできますか?
c# - c# (より具体的には xna) http 経由で xml ファイルを要求するにはどうすればよいですか? Xbox をサポートする必要はありません
だから私は XNA でゲームに取り組んでいて、私たちのサイトからサーバー リストを取得する必要があります。
したがって、http ://play.feedthezombie.com/ ?want=servers&enc=xml に対して http 要求を実行し 、コンテストを文字列または xml オブジェクトとして取得するだけです。
手がかりはありますか?
.net - RubyをXNAエンジンに埋め込む方法は?
Ruby をスクリプト言語として Microsoft XNA に組み込むことが可能かどうか、またそれを行う最善の方法は何かを考えています。Ruby を除いて、Xnuaのようなものを探しています。
私は Ruby.NET と IronRuby に出くわしましたが、どちらも非常に初期の段階にあるようです。さらに、それらが Xbox 360 で動作するかどうかはわかりません。たとえば、 XNA フォーラムのこのトピックでは、IronPython は動作しないと述べています。
xna - XBox 用のカスタム DVD プレーヤーを作成するにはどうすればよいですか?
XBox 360 (XBox Live を使用してダウンロード) で動作し、トレイの DVD ムービーを再生するアプリケーションを作成したいと考えています。XBox には既にこの機能があることは知っていますが、カスタム DVD プレーヤーで、ユーザーが映画の好きな部分のブックマークを保存し、後で DVD を挿入したときにブックマークを参照できるようにしたいと考えています。ばかげているように聞こえるかもしれませんが、それは私が行っているビジネスベンチャーのためのものです。
私の質問は:
1. これは可能ですか?
2. これを作成するには、どのプラットフォームを使用できますか? (XNA?)
3. その方法を学ぶにはどこに行けばよいですか?
私は非常に経験豊富な .NET 開発者ですが、メディアやゲーム プログラミングの専門家ではありません (まだ)。ありがとうございました!
.net - Zune 用の電子メール リーダーを作成することは可能ですか?
XNA を使用して Zune 用の電子メール リーダーを構築することは可能ですか?
バージョン 3.0 では、マーケット プレイスに接続し、Zune から直接音楽をダウンロードできるため、私の質問の性質がわかりました。
編集:ZuneHDを購入する
3d - XNA でのウィンドウ システムのレンダリング戦略 (RenderTarget のパフォーマンス)
現在、XNA ゲーム用のウィンドウ システムをゼロから作成しています。私は主に Windows 向けに開発していますが、将来どのプラットフォームをサポートするかは誰にもわかりません。パフォーマンスのセマンティクスは似ているはずなので、ネイティブ Direct3D についてこれを知っている場合は、自由に答えてください。可能であれば、ターゲット プラットフォームが X-Box 360 である場合に何が変わるかを検討してください。
私は順調に進んでいますが、ウィンドウを正確にレンダリングする方法がわかりません。私は4つのアプローチを思い付きました:
すべてのコントロールを画面に直接レンダリングするだけです。これが私が今していることです。コントロールは、半透明でない限り、状態をブレンドしてアニメーション化できます。任意の数の状態の間でアニメーション化する良い方法が見つかりませんでした (現在、ボタンアップからボタンダウン、マウスアウトからマウスオーバーにアニメーション化されているボタンが無効になっているとします。最後の状態から新しい状態にスムーズにブレンドします。このアプローチでは、最後のアニメーションが終了した後に 1 つのアニメーションが再生される場合にのみ機能します。そうしないと、アニメーションにジャンプが発生します。
各トップレベル ウィンドウとすべてのコントロールをレンダー ターゲットにレンダリングし、それを使用して半透明のトップレベル ウィンドウを画面にレンダリングします。これにより、トップレベルの作業で半透明になり、管理が容易になりますが、アニメーションの内容は変わりません。
各コントロールをレンダー ターゲットにレンダリングします。レンダー ターゲットは、コントロールがダーティになった場合 (つまり、アニメーション化する必要があるか、テキストが変更された場合) にのみ更新されます。このようにして、コントロールごとの半透明が機能します。
前と同様ですが、アニメーションの問題を解決することに加えて、各コントロールに 2 番目のレンダー ターゲットを用意します。アニメーションが開始するたびに、レンダー ターゲットを交換して、アニメーションが開始したときの状態を取得し、それを目的の状態とブレンドして他のレンダー ターゲットに入れます。これにより、以前のアプローチよりもオーバーヘッドが増えることはありません。レンダー ターゲットの数が 2 倍になり、任意のフレームで (最大で) 1 つだけがレンダリングされます。しかし、ここで問題が発生します。これを機能させるには、「古い」レンダー ターゲットのコンテンツを保持する必要があります。これは、Windows では良好なパフォーマンスで動作するはずですが、X-Box 360 ではパフォーマンスに重大な影響があるようです。一方、「保存」ビットは、アニメーションがアクティブな間のみ必要です。
そして、実際の質問が来ます。明確にするものは何でも大歓迎です。パフォーマンスの問題については、これはゲームのウィンドウ システムにすぎないことを覚えておいてください。ゲームの背後にあるゲームは、多くのレンダー ターゲットを使用し、パフォーマンスも低下させる可能性があり、ウィンドウ システムよりもはるかに多くの可能性があります。最悪の場合、画面上にそれぞれ 20 ~ 40 のコントロールを持つ 5 つのトップレベル ウィンドウがあるとします。
- これらのアプローチのどれをお勧めしますか?またその理由は? もちろん、別のアプローチを自由に追加してください。
- 200 個または 400 個のレンダー ターゲットを利用できる場合、各フレームに 20 個しかレンダリングされない場合、パフォーマンスに影響はありますか?
- PreserveContents のパフォーマンスへの影響は、X-Box 360 では本当に悪いのでしょうか? Windowsではどれくらい悪いですか?
- RenderTarget2D.RenderTargetUsage プロパティに書き込むことができます。PreserveContents を必要に応じてのみ有効にするために、実行時にこれを切り替えることは良い考えですか?
- ボタンの上にマウスを移動し、マウスを移動してから再び移動するなど、特定の状況でコントロールアニメーションがジャンプすることを (プレイヤーとして) 気にしますか?あなたより遅い?
fonts - xnaをインストールした後、フォントをどのように使用しますか
ソースにフォントが含まれているチュートリアルをダウンロードしました。プロジェクトをビルドしようとすると、常に次のエラー メッセージが表示されます。
エラー 1 フォント ファミリ「ジョイスティック」が見つかりませんでした。要求されたフォントがインストールされていること、および TrueType または OpenType フォントであることを確認してください。
フォントはコントロール パネルから追加されたもので、TrueType フォントです。
winforms - XNA で system.windows.forms を使用する
XNAを使ったゲームを作っています。ボタン、テキスト ボックス、ラベル、ツールチップ テキストなど、system.windows.forms に付属するものをゲームに追加したいと考えています。system.windows.forms を XNA とマージするにはどうすればよいですか? これを機能させるために実装できる API または DLL はありますか?
ありがとう、
ベンシャムス
wpf - WPFのアンビエントオクルージョンシェーダー効果?
これは複数の部分からなる質問だと思います。
3D モデルを WPF アプリケーションにインポートできますが、アンビエント オクルージョン シェーダー効果を適用するにはどうすればよいですか? .NET 3.5 SP1 ではカスタム エフェクトを実行できることはわかっていますが、これはピクセル シェーダーに限定されており、頂点シェーダーは含まれていません。
XNAアプリケーションでこれを行うことができると思いますが、XNAに慣れていないので、2番目の質問は次のとおりです.WPFとXNAはどのくらい違いますか? XNA で XAML の概念を持っていないようです。WPF から XNA への移行にはどれくらいの時間がかかりますか?
ありがとう、クリス