問題タブ [monogame]

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.

0 投票する
5 に答える
11868 参照

c# - VS2012 でモノゲームを使用してコンテンツを読み込むことができない

私のコードは

new GameFont(Content.Load<SpriteFont>("LoadingFont"), "LoadingFont")

私が読んだことによると、VS2010 を使用してアセットを .xnb 形式にコンパイルし、それを bin ディレクトリの Content サブフォルダーに配置する必要があります。しかし、「LoadingFont アセットを読み込めませんでした!」というエラーが表示されます。

他に何をすべきか本当にわかりません。XNA 4 を使用して作成されたアセットは機能しないという非常に古い投稿を読みましたが、それがまだ正しいかどうか、または XNA のバージョンを 3.1 に変更する方法がわかりません。

何か案は?おそらく、VS2010 をまったく使用しないより良い方法があるでしょうか?

0 投票する
1 に答える
319 参照

visual-studio-2010 - XNAモノタッチゲーム-タッチが機能しない

Visual Studio 2012ExpressとMonoSDKをインストールしたので、XNAゲーム開発を行うことができます。

今日、タッチスクリーンとMicrosoft.XNA.Framework.Input.Touch名前空間について読み始めました。メインのゲームクラスのInitialize()メソッドに次のコードを追加しました。

ただし、tc.IsConnectedはfalseを返します。私はタッチWindows8タブレットで開発しているので、なぜfalseが返されるのか理解できません。誰か助けてもらえますか?

0 投票する
1 に答える
3225 参照

3d - XNA/Monogame、複数のせん断/歪んだスプライトを描画する最速の方法

私は通常SpriteBatch、2D ゲームの XNA/Monogame で作業しており、最近では などの 3D 描画方法を詳しく調べていDrawUserIndexedPrimativesます。私は、アニメーターがスプライトとテクスチャをせん断する機能を持ちたいというプロジェクトに取り組んでいます。

を使用すると、オブジェクトの剪断を開始するためにSpriteBatchマトリックスを渡すことができます。SpriteBatch何かのようなもの:

SpriteBatchこれの明らかな欠点は、せん断されたスプライトごとに新しい開始呼び出しと終了呼び出しを行う必要があることです。SpriteBatch現在、ゲームを開始するために必要な呼び出しは 2 つだけです。1 つは UI 用、もう 1 つはワールド用です。私たちのアーティストは、木を揺らしたり、生き物の足や手足をアニメートしたりするためにせん断を使用したいと考えていたので、オプションを与えると、その数が 10 以上の個別のバッチにジャンプすることがわかりました。

平均的なレベルには、それぞれ 10 ~ 20 のスプライトを含む約 250 の要素があります。

1000 個のスプライトで描画を呼び出す Android 用のテストを作成しました。1000 回、600 回、約 11 秒または約 53 fps でスキューなしですべてを描画できます。しかし、スプライトを 10 個ごとに歪ませる (100 個の新しいSpriteBatch呼び出しを追加する) と、47 秒、つまり約 12fps かかります。

それは本当に悪いです。わずか 200 個のスプライト (10 個ごとに歪んだもの) の場合でも、テストは 28fps に低下します。

そのため、 で描画された Quads を使用して同じテストも作成しましたDrawUserIndexedPrimitives。各クワッドはBasicEffect、Game クラスで作成され、Spriteクラス コンストラクターを介して渡される共有を使用します。pass.Apply()次のように、それぞれの前に World Matrix と Texture を設定します。

1000 個のスプライトの場合、スキューなしで、これにより 12 fps が得られます (1000 回のspriteBatch呼び出しに似ていると思います)。それは本当に悪いです。しかし、10 番目のスプライトごとに歪んだ 200 のスプライトのみで、46 fps を取得しSpriteBatchますDrawUserIndexedPrimitives

- -私の質問 - -

DrawUserIndexedPrimitivesを継承する独自のクラスに含まれるスプライトを保持しながら、(または同様のもの)への呼び出しをバッチ処理するにはどうすればよいDrawableGameComponentですか? この最後の部分は、ゲーム エンジンの性質と、アニメーションやコリジョンなどを処理する方法のために非常に重要です。

Vertex Buffers と についてできる限り読んだことDrawIndexedPrimitivesがありますが、頭がまとまらず、この方法で描画されたスプライトに新しいテクスチャとワールド変換を割り当てる方法がわかりません。

SpriteBatchこれらの呼び出しをバッチ処理した場合と同等またはより優れたパフォーマンスが期待できますか?

0 投票する
2 に答える
6923 参照

c# - VS2012 のソリューションに新しいモノゲーム コンテンツ プロジェクトを追加できない

Visual Studio 2012 (Professional) の既存のソリューションに (MonoGame 3.0 インストーラーにインストールされたテンプレートを介して) 新しい MonoGame コンテンツ プロジェクトを追加しようとしていますが、常に次のダイアログ ボックスが表示されます。

エラーポップアップ

プロジェクトがあるはずの場所に空のフォルダーがいくつか作成されますが、それらには何もありません。このポップアップの後、次のメッセージも表示されます。

2 番目のエラー ポップアップ

VS2012 ではサポートされていないため、XNA はインストールしていません。

また、Windows 7 を使用しています。

ありがとうございました!

0 投票する
2 に答える
3936 参照

c# - DLL'opengl32.dll'で'glBindFramebuffer'という名前のエントリポイントが見つかりません。MonoGame3.0で

最近、ラップトップにMonoGame3.0をインストールしました。プロジェクトテンプレートから新しい「MonoGameWindowsOpenGLProject」というバンドを取得して実行しようとすると、この例外が発生しました。

例外はここにありました:

私はインストールされています:

使ってます :

インストールする必要があるものはありますか?

注:MonoGame 2.5.1.0を使用すると、すべてが正常に機能します。この例外は、MonoGmae30をインストールした場合にのみ発生します。

0 投票する
1 に答える
482 参照

audio - モノゲームの音ズレ

monogame 2.5 を使用してサウンドに問題があります

私のアプリは一連の png を読み込んで、レンダリング中に表示しています。読み込みとレンダリングはかなり高速ですが、サウンドは「非常に遅く」、「グリッチ」に満ちています。メインスレッドがサウンドを処理するのに十分な時間がないようです。

コードに飛び込んで、私はこの方法を見つけました:

したがって、このメソッドは 1/33 秒と呼ばれる必要があると思います。

問題は、1/12 秒ごとに新しいイメージをロードする必要があることです。このプロセスには時間がかかり、メイン スレッドが停止します。

もちろん、私はバックグラウンドワーカーを使用しようとしましたが、Texture2Dインスタンスが必要なため、OpenGLコンテキストのためにメインスレッドにロードする必要があります.

バックグラウンドワーカーに画像をロードし、メインスレッドでも作成しようとしましたTexture2Dが、問題は解決しません。

ああ、私のサウンドは mp3 サウンドですが、wav でテストしましたが、結果はありません!! :(

0 投票する
2 に答える
5873 参照

c# - MonoGame でビデオを再生する

モノゲーム プロジェクトでビデオを再生しようとしています。Framework.Video ディレクトリを含めることで過去に XNA でこれを行ったことがありますが、これは非常に簡単です。Visual Studio 2012 は XNA ディレクトリを受け入れないため、これはモノゲームでは実行できません。

実際にビデオをモノゲームに入れることができるかどうか、そしてそれがどのように行われるかを説明する他の方法を見つけることができませんでした。

何か案は?

0 投票する
2 に答える
432 参照

c# - 解像度の異なる 2 台のモニター上の Windows 8 アプリ XNA

Monogame を使用して、Windows 8 アプリ ストア用の XNA ゲームを作成しています。また、外部モニターに接続されたラップトップを使用しています。当然、外付けモニターの解像度はラップトップの画面よりもはるかに高くなっています。アプリをある画面から別の画面にドラッグすると、ビュー ポートの解像度が変わります。

私のコンストラクタで私が使用している

ビューポートの解像度を設定するには。これにより、アプリケーションがいずれかのモニターで実行されている場合にアプリが正常に動作しますが、アプリをあるモニターから別のモニターにドラッグすると、GraphicsDeviceManager の解像度が変更されます。この変更を防ぐ方法はありますか?

0 投票する
1 に答える
114 参照

visual-studio - Visual Studio 2012 で単一互換クラス ライブラリを構築するために作成するプロジェクトの種類を決定する

MonoGame を活用してマルチプラットフォーム アプリケーションを構築していますが、Mono 開発は初めてです。その結果、いくつか質問があります。

  1. 今のところすべての開発を Visual Studio 2012 で行い、Microsoft 以外の環境をターゲットにする準備ができたら、MonoDevelop に移行することは合理的ですか?

  2. Mono を実行する任意のターゲット システムで利用できるクラス ライブラリを開発するには、どのような構成を行う必要がありますか?

  3. Windows 環境でアプリケーションを .NET アプリケーションとして実行し、他の展開を Mono で実行できるようにすることはお勧めできませんか、それともフラットな Mono 構成を選択する説得力のある理由がありますか (または実際に .NET アプリケーションとして実行する利点はありますか) ?)

0 投票する
2 に答える
14142 参照

c# - MonoGame 読み取りタッチ ジェスチャ

私は現在、幻想的なモノゲーム フレームワークを使用してゲームを書いています。タッチ入力に正しく反応できません。ユーザーが水平または垂直にドラッグすると、ドラッグごとに 1 回アクションを実行したいと考えています。問題は、ドラッグごとにジェスチャが複数回発行されることです。これが私のコードです:

この例のために、このコードをすべて 1 つのブロックに移動しました。返された RotateRightCommand または RotateLeftCommand は、画面上のオブジェクトを回転させる呼び出しコードによって実行されます。このコード ブロック全体が、モノゲームの更新ループで実行されています。タッチ入力のリセットに関して何か不足していると思います。そのため、1 回のドラッグで 3 つまたは 4 つの RotateCommands が返されます。私は何を間違っていますか?