0

別のクラスからすべてのテクスチャをロードしている作業中のゲームがあります。PC版では問題なく動作します。

現在、Monogame を使用して win8 に移植しようとしています。

.xnb ファイルを使用して Game1.cs からテクスチャをロードすると、問題なく動作します。しかし、別のクラスを使用して同じテクスチャをロードしようとすると、ロードされません。それは私にNullReferenceExceptionエラーを与えます

GraphicsDevice.Clear(Color.Cornflowerblue);
4

1 に答える 1

0

HungryCoder:

クラスからテクスチャをどのようにロードしているかはわかりませんが、現在、MonoGame には、PC 用のビルドおよび XNA ゲームで提供されたようなコンテンツ パイプラインがまだありません (彼らはそれに取り組んでいます)。の場合、同じ方法でグラフィック ファイルを追加することはできません。

Windows 8 XNA ゲームを作成するチュートリアルでは、クラス内の Initialize 関数に Content.Load<> を Texture の型と場所と共に渡すことで、独自の Player クラスから Shooter プレーヤー グラフィックを作成します。

player.Initialize(Content.Load("Graphics\player"), playerPosition);

.xnb ファイルは、プロジェクト内の Graphics フォルダーにあることに注意してください。

私のバックグラウンドでは、バックグラウンド クラスの Initialize メソッドにも完全な Content Manager を渡すことで、バックグラウンド クラスからパララックス バックグラウンドを作成しました。

bgLayer1 = 新しい ParallaxingBackground(); bgLayer1.Initialize(Content, "Graphics\bgLayer1", GraphicsDevice.Viewport.Width, -1);

これらの例は両方とも、私のプロジェクト/ゲーム内で機能します。

興味のある方は、Windows 8 の MonoGame に関するブログ チュートリアル シリーズの一部としてプレーヤーのコード例を投稿してください。バックグラウンドのコードが完成したら、バックグラウンドの完全なコード例も追加します。お役に立てれば。 http://blogs.msdn.com/tarawalker

于 2013-01-09T17:13:46.670 に答える