0

只是为了做一些测试,我在 Windows 7、Windows Phone 7 和 iPhone(使用 Monogame)上执行了 Microsoft 的 XNA 示例“Shooter”。

除了 Monogame 以纵向而不是横向运行游戏这一事实之外,我注意到玩家精灵的运动表现确实不同。

在 Phone 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 以拥有我们自己的 TouchPanel 实现,该实现只使用常规 C# 事件。如果您还需要支持常规 XNA,这可能会很难看。

于 2012-02-10T22:47:43.487 回答
1

MonoGame 团队正在努力实现与 XNA 的平等。有一些障碍,但我们仍然认为这些是可以克服的。

我们希望 iOS 中的 2 个领域适合 MonoGame 2.5 版本是手势和正确支持横向模式。

我希望这有帮助。

D.

于 2012-02-15T09:46:26.910 回答