0

いくつかのテストを行うために、Windows 7、Windows Phone 7、およびiPhone(Monogameを使用)でMicrosoftXNAサンプル「Shooter」を実行しました。

モノゲームが横向きではなく縦向きでゲームを実行するという事実に加えて、プレイヤーのスプライトの動きが実際に異なることに気づきました。

電話7では、任意の場所をタップし、画面上で指を離さずに動かしている間、スプライトは指に対する相対的な動きに従います。

ただし、iPhoneでは、スプライトは最初はまったく移動せず、次に非常に高速に移動し、画面の境界まで移動します。これにより、プレーヤーは制御できなくなります。

使用されるコードは次のとおりです。

while ( TouchPanel.IsGestureAvailable )
{
    GestureSample gesture = TouchPanel.ReadGesture();
    if ( gesture.GestureType == GestureType.FreeDrag )
    {
        player.Position += gesture.Delta;
    }
}

それはiOSでは違う必要がありますか?

4

2 に答える 2

1

しばらくの間GitHubから更新していませんが、プロジェクトでMonoGameを使い始めたとき、TouchPanelが正しく機能していないことがわかりました。

これは難しい問題です。イベント駆動型のタッチイベントを、XNAのような静的クラスにどのようにフラット化するのでしょうか。

これを回避するために、MonoGameをフォークして、代わりに通常のC#イベントを使用する独自のTouchPanel実装を作成しました。通常のXNAもサポートする必要がある場合、これは醜い可能性があります。

于 2012-02-10T22:47:43.487 に答える
1

MonoGameチームは、XNAとの同等性の実現に取り組んでいます。いくつかのハードルがありますが、それでもこれらは克服できると思います。

私たちがMonoGame2.5リリースで正しく機能することを望んでいるiOSの2つの領域は、ジェスチャーとランドスケープモードの適切なサポートです。

これがお役に立てば幸いです。

D。

于 2012-02-15T09:46:26.910 に答える