为了做一些测试,我在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必须有所不同吗?
答案 0 :(得分:1)
我有一段时间没有从GitHub更新,但是当我们开始使用MonoGame进行项目时,我们发现TouchPanel工作不正常。
这是一个难题:如何将事件驱动的触摸事件压缩到像XNA这样的静态类?
为了解决这个问题,我们将MonoGame分叉,让我们自己的TouchPanel实现只使用常规的C#事件。如果您还需要支持常规XNA,这可能会很难看。
答案 1 :(得分:1)
MonoGame团队正在努力实现与XNA的平等。有一些障碍,但我们仍然认为这些障碍是可以克服的。
iOS中我们希望MonoGame 2.5版本的两个领域是Gestures并正确支持横向模式。
我希望这会有所帮助。
d