問題タブ [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.
drawing - XNA を使用して線を描画するにはどうすればよいですか?
XNA (およびさまざまなバージョン) に関するチュートリアルをたくさん読みましたが、プリミティブの描画についてまだ少し混乱しています。すべてが本当に複雑に思えます。
コードを使用して、画面に 1 本または 2 本の線を描画する最も単純な XNA 実装を誰かに見せてもらえますか? おそらく簡単な説明(ボイラープレートを含む)で?
私はゲーム プログラマーではなく、XNA の経験もほとんどありません。私の最終的な目標は、最終的に回転などで(手動で)変換するいくつかの線を画面に描画することです。ただし、この最初のステップでは..単純に線を引く必要があります。昔の OpenGL の時代には、いくつかのメソッド呼び出しで線を引くのはかなり簡単だったのを覚えています。管理されていない directx 呼び出しを使用するように単純に戻す必要がありますか?
c# - system.windows.formsで動作する同等のXNAフレームワークが必要です(XBox 360で動作する必要はありません)
次の学期は「ソフトウェアプラクティブII」のクラスを受講します。そのクラスで、私の教授は私たちにXNAを学んでほしいと言っています。私はかなり前からXNAで遊んでいて、その機能性とシンプルさを楽しんでいます。ただし、XNAはSystem.Windows.Formsを利用しません。CEGUI#を使用して、XNAをSystem.Windows.Formsで動作させることができましたが、機能が制限されています(たとえば、マウスには「左クリック」と「ダブル左クリック」がありますが、ありません。 "引っ張る")。
それで、私は新しいフレームワークのためにXNAを捨てています。これが私の質問です->XNAとしてのすべての機能とシンプルさを備えているが、System.Windows.Formsと完全に互換性がある(または、少なくとも、System.Windows.Formsと完全に互換性があるC#フレームワークはありますか?サードパーティツール)?フレームワークはXBox360で動作する必要はありません。WindowsXPとWindowsVistaでのみ動作する必要があります。XNAと同様の構文(つまり、LoadContent、Draw、Updateなどの同様のメソッド)が必要です。
お時間をいただきありがとうございます、
〜BenShums
.net - MAME または SCUMMVM を .NET (XNA または Silverlight) に移植するための最良の方法は何ですか?
これらのエミュレータ エンジンを移植する際の主な課題は何でしょうか。
すべてのコードを書き直さなくても成功できたでしょうか? 役立つ変換ツールはありますか?
xna - Delphi Prism で XNA を実行する
Delphi Prism と XNA Game Studio 3.0 をインストールしました。Delphi Prism XNA チュートリアル 1「画面に 3D モデルを表示する」( http://msdn.microsoft.com/en-us/library/bb197293.aspx ) に翻訳することができました。プロジェクトは正常にコンパイルされますが、モデルをロードできません。Delphi Prism にはない新しい「contentproj」タイプが XNA にあるようです...それを機能させる方法はありますか?
.net - Visual Studio が .csproj ファイルを開くことができないのはなぜですか?
Visual Studio で .NET プロジェクトのプロパティを開くことができないという奇妙な問題があります。ソリューション エクスプローラーの [プロパティ] ツリー ノードをクリックして開こうとすると、次のメッセージが表示されます。
「....csproj」に使用できるエディターはありません。ファイルの種類 (.csproj) のアプリケーションがインストールされていることを確認します。
メイン メニューからプロジェクト プロパティを開こうとしても、何も起こりません。
コマンドラインと修復インストールでVisual Studioの設定をリセットしようとしましたが、これまでのところ何も役に立ちませんでした。
XNA Game Studio 3.0、ReSharper 4.1、および Visual SVN 1.5.1 を含むバージョン 9.0.30729.1 SP の Visual Studio 2008 を使用しています。
これは私のすべてのプロジェクトで発生しており、同僚にはこの種の問題がないため、ローカルの問題のようです。
助けていただければ幸いです。
ありがとう、マイケル
c# - 新しい標準ゲーム開発プラットフォームとしてのC#/。NETの実行可能性?
長い間、C++が主流のゲーム開発言語でした。多くのAAA品質の3Dエンジンが、あらゆる予算に合わせて利用できます。
私の質問は、XNAの台頭に伴い、C#と.NETフレームワークは、新しい標準のゲーム開発プラットフォームとして引き継ぐのに十分な位置にあるのでしょうか。明らかに、XNAフレームワーク(Windows、Xbox、Zune)に固有のクロスプラットフォームの性質には利点がありますが、これらの利点は、大規模なゲーム開発スタジオにギアを切り替えるように誘うのに十分ですか?
個人的には、新しいプロジェクトにC#/ XNAを使用することと、jMonkeyEngineを介してJavaを使用することとの間で途方に暮れています。私は自分のゲームを複数のプラットフォームに移植できるようにしたいと強く望んでいます。これを実現するのに十分な知識がある言語はC#とJavaだけです。OpenGLを搭載し、Monoで実行されるXNAコードベースの実装を見たいと思いますが、現時点ではそれは単なる希望的観測だと思います。
C++以外で3Dゲームを構築しているときに他の人が経験したことを聞きたいです。
c# - XNA - キーボードによるテキスト入力
さて、基本的にはキーボード テキストを取得できるようにしたいと考えています。テキストフィールドなどにテキストを入力するようなものです。私は自分のゲームを Windows 用に書いているだけです。私は Guide.BeginShowKeyboardInput の使用を無視しました。これは自己完結型のゲームの感覚を壊すためです。また、ガイドが常に XBOX ボタンを表示するという事実も、私には正しくないように思えます。はい、それは最も簡単な方法ですが、私はそれが好きではありません。
次にSystem.Windows.Forms.NativeWindowを使ってみました。それを継承するクラスを作成し、それをゲーム ウィンドウ ハンドルに渡し、WndProc 関数を実装して WM_CHAR (または WM_KEYDOWN) をキャッチしましたが、WndProc は他のメッセージに対して呼び出されましたが、WM_CHAR と WM_KEYDOWN は呼び出されませんでした。そのため、そのアイデアを放棄する必要がありました。また、Windows フォーム全体も参照していたため、不要なメモリ フットプリントが肥大化していました。
そこで私の最後のアイデアは、スレッド レベルの低レベル キーボード フックを作成することでした。これはこれまでで最も成功しています。WM_KEYDOWN メッセージが表示されます (WM_CHAR はまだ試していません)。仮想キーコードを Win32 関数 MapVirtualKey で char に変換します。そして、私は私のテキストを手に入れました!(現時点では Debug.Write で印刷しています)
ただし、いくつかの問題があります。Caps Lock がオンになっていて、Shift キーが反応しないかのようです。(もちろんそうではありませんが、キーごとに仮想キー コードが 1 つしかないため、翻訳すると出力が 1 つしかないだけです)、Windows フック リストにアタッチするためオーバーヘッドが追加され、私ほど速くはありません。そうであってほしいのですが、Debug.Write が原因で速度がさらに低下する可能性があります。
画面上のキーボードに頼ることなく、他の誰かがこれに取り組み、解決しましたか? または、私が試してみたいアイデアが他にありますか?
前もって感謝します。
ジミーからの質問
質問の意味がよくわからないかもしれませんが、XNA Keyboard および KeyboardState クラスを使用できないのはなぜですか?
私のコメント:
これは、キーステートを読み取ることはできますが、入力されたテキストにアクセスして、ユーザーがどのように入力したかを知ることができないためです。
それでは、さらに明確にしましょう。ユーザーがテキストボックスに入力しているかのように、ユーザーからのテキスト入力を読み取れるように実装したいと考えています。キーボードと KeyboardState クラスはすべてのキーの状態を取得しますが、各キーと組み合わせをその文字表現にマップする必要があります。これは、特に記号を使用する場合と同じキーボード言語をユーザーが使用しない場合に失敗します (私の二重引用符はシフト + 2 ですが、アメリカのキーボードはリターン キーの近くにあります)。
XNAメッセージポンプがメッセージを変換しないため、WM_CHARを取得できなかったのは、私のウィンドウフックがうまくいったようです。
WM _
KEYDOWN メッセージを受信するたびに TranslateMessage を追加すると、WM_CHAR メッセージを取得したことになり、これを使用して、KeyboardBuffer クラスがサブスクライブしていた MessageHook クラスで文字型イベントを起動し、それをテキスト バッファーにバッファーします:D (または StringBuilder を使用しますが、結果は同じです)
だから私はそれをすべて私が望むように機能させています。
非常に有益なスレッドへのリンクを提供してくれた Jimmy に感謝します。
c# - 最速のタイプ比較?
次のイベントは、フレームごとに何百回も呼び出される可能性があります。
「is」を使用するとキャストが作成され、それで何かをしたいときにもう一度キャストすることを理解しています。型を確認するより効率的な方法はありますか? 「if(body2.Tag.GetType() == typeOf(Dog))」を試すコンソール アプリを作成しましたが、「is」を使用するよりもさらに遅いようです。
ありがとう。
.net - ゲームに関連しない 3D グラフィックス プログラミング用の管理された Direct3D または XNA?
.NET 3D グラフィックス プログラミングを行うための推奨されるアプローチはどれですか。現在のテクノロジは Direct3D または XNA のようですが、ゲーム以外のプログラミングにはどちらが最適ですか?
また、Managed Direct 3D は廃止されましたか? XNA は、ゲーム以外の開発にはあまり適していないようです。