C#XNA TouchPanel.GetState()。计数返回0

C#XNA TouchPanel.GetState()。计数返回0,c#,windows-phone-8,xna,monogame,C#,Windows Phone 8,Xna,Monogame,所以我的游戏有一个更新功能,更新功能肯定会在每一帧运行。请注意,我在许多其他游戏中都使用了以下代码,它工作得非常完美。更不用说,它已经被直接从文档中删除,只需很少的调整。进入Foreach的任何内容都不会产生调试输出。当我执行Debug.Writeline(touchCollection.Count)时,无论我对手机屏幕做了什么,只有0个输出。上次我检查时,我的手机屏幕非常好 是否有人对试图解决此错误有任何建议 或者更好的是,有没有人经历过这种错误 我尝试过清理解决方案,重建,甚至创建一个全新的

所以我的游戏有一个更新功能,更新功能肯定会在每一帧运行。请注意,我在许多其他游戏中都使用了以下代码,它工作得非常完美。更不用说,它已经被直接从文档中删除,只需很少的调整。进入Foreach的任何内容都不会产生调试输出。当我执行Debug.Writeline(touchCollection.Count)时,无论我对手机屏幕做了什么,只有0个输出。上次我检查时,我的手机屏幕非常好

是否有人对试图解决此错误有任何建议

或者更好的是,有没有人经历过这种错误


我尝试过清理解决方案,重建,甚至创建一个全新的项目。当我创建一个全新的项目时,同样的情况也发生了,即使它没有除此之外的代码。

您使用的是什么类型的手机?它是Windows Phone还是您正在尝试构建Iphone/Android游戏?你试过在模拟器中运行代码吗?@JoshSiegl他用Windows Phone 8标记了这个问题。很好的回答@craftworkgames我没有注意到标记。我能告诉你的最好的事情是在模拟器中尝试它。如果它在XNA或其他设备(包括windows)中工作,它很可能是MonoGame中的一个bug。您需要亲自深入了解MonoGame源代码,或者在MonoGame论坛/github站点上报告它。它在XNA上运行。这绝对是一个来自Monogame的bug。
protected override void Update(GameTime gameTime)
{
    // TODO: Add your update logic here
    TouchCollection touchCollection = TouchPanel.GetState();
    foreach (TouchLocation tl in touchCollection)
    {
        Debug.WriteLine("THE SCREEN IS NAW");
        if (tl.State == TouchLocationState.Pressed)
        {
            Debug.WriteLine("THE SCREEN IS PRESSED");
        }
    }
    base.Update(gameTime);
}