XNA「XBox 360 Project」はWindowsでも動作しますか?


12

XBox 360のXNAプロジェクトでは、専用バージョンの.NET Compact Frameworkを使用することを理解しています。しかし、XBox 360とWindowsの両方でリリースしたいとしましょう。

Xboxバージョン(コンパクトフレームワークを使用)は、Windows用に配布された場合でも動作しますか、それとも配布するために通常のフレームワーク(または非Xbox CF)に対して再構築する必要がありますか?

回答:


15

はい、異なるプラットフォームは異なる.netランタイムを実行します。

これがxna 3 / 3.1 / 4で機能する方法は、単一のプラットフォーム用のゲームプロジェクトを作成することです(たとえば、Visual Studioで新しいWindows Xnaゲームプロジェクトを作成します)。Visual Studioの「ソリューションエクスプローラー」でプロジェクトを右クリックし、「Xのプロジェクトのコピーを作成」を選択します。xは、新しいプロジェクトのターゲットにするプラットフォームです。これでほぼすべてです。 プロジェクトのコピーを作成

これらの2つのプロジェクトは同期されており、一方に追加したものはもう一方に表示されます。#if WINDOWSまたは#if XBOXまたは#if WINDOWS_PHONEブロックを使用して、単一のプラットフォームに固有のコードを追加します。


ああ、だからこそ、サンプルプロジェクトには「Copy of X」が含まれています。私はそれらが単なる手動コピーであると仮定しましたが、XNA + VSがそれを自動化することを知りませんでした。非常に便利!また、この図は、オプションが非常にうまく機能する場所を示しています。XBoxプロジェクトから始めて、最初から両方のリリースを計画している場合は、Windowsコピーを行うのが最善のようです。
CodexArcanum

Personaly IDは常にWindowsプロジェクトから始まります。Windowsでデバッグする方が簡単で、perf hudやpixなどのツールを入手できます。それはあなたがそれを行うの周りにどの方法を重要ではなく、固化の方法を行うと、ラウンド種類Cメインのdevのプラットフォームの考え方が、360の早期かつ頻繁にテストdosnt
Cubed2D

3

Windows用に再構築する必要があります。Visual Studioプロジェクトの変換プロセスを自動化するツールがあります。360とコンパクトなフレームワークで始めたので、大丈夫です。逆に言えば、コンパクトフレームワークでサポートされていない.Netフレームワーク機能を使用する問題に遭遇する可能性があります。

ドキュメントには、2つの違いのセクションが含まれています(たとえば、Windowsでプロセッサアフィニティを設定することはできません)。実際にPCでゲームをリリースしている場合、互換性の問題が発生する可能性があります。たとえば、レンダーバッファー形式がサポートされていないか、シェーダーがコンパイルされていない可能性があります。これはPC開発の呪いですが、XNAに固有のものではありません。


PCでもシェーダーやバッファーの問題が発生する可能性があることに注意してください。XNAがこれらの小さな詳細のほとんどを隠していると想定していましたが、まだ抜け落ちていると思います。
CodexArcanum

はい、PCハードウェアは多種多様です。しかし、私はxboxの癖が現代の主流のグラフィックハードウェアの機能よりも説明しにくいことを発見しました。それはゆるい基準です、私は知っています:)
セスバティン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.