iOS上的Monogame:与Windows Phone相比,解释触摸时的行为不同?

时间:2012-02-10 21:47:40

标签: c# xna xamarin.ios monogame

为了做一些测试,我在Windows 7,Windows Phone 7和iPhone上使用了微软XNA样本“Shooter”(使用Monogame)。

除了Monogame以纵向而不是横向运行游戏之外,我注意到玩家精灵的运动表现得非常不同。

在手机7上,您点按任意位置,将手指放在屏幕上,并在移动时,精灵跟随相对于手指的移动。

然而,在iPhone上,精灵首先根本不移动,然后移动得非常快并向上移动到屏幕边界。这使得玩家无法控制。

使用的代码是:

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

iOS必须有所不同吗?

2 个答案:

答案 0 :(得分:1)

我有一段时间没有从GitHub更新,但是当我们开始使用MonoGame进行项目时,我们发现TouchPanel工作不正常。

这是一个难题:如何将事件驱动的触摸事件压缩到像XNA这样的静态类?

为了解决这个问题,我们将MonoGame分叉,让我们自己的TouchPanel实现只使用常规的C#事件。如果您还需要支持常规XNA,这可能会很难看。

答案 1 :(得分:1)

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

iOS中我们希望MonoGame 2.5版本的两个领域是Gestures并正确支持横向模式。

我希望这会有所帮助。

d