加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows phone 7,xna,我如何更经常地对触摸屏进行采样

发布时间:2020-12-14 02:48:25 所属栏目:Windows 来源:网络整理
导读:好吧,显然xna游戏只能以30fps的速度运行,这是一种耻辱,因为我们在iPhone上的游戏看起来好多了60 … 无论如何,因为获得有关触摸屏状态的信息的唯一方法是获得其当前状态,实际上这意味着您只能以30 fps采样触摸屏. 即使我们的游戏必须以30fps运行,有没有办法从
好吧,显然xna游戏只能以30fps的速度运行,这是一种耻辱,因为我们在iPhone上的游戏看起来好多了60 …

无论如何,因为获得有关触摸屏状态的信息的唯一方法是获得其当前状态,实际上这意味着您只能以30 fps采样触摸屏.

即使我们的游戏必须以30fps运行,有没有办法从触摸屏获得更高分辨率的采样?也许通过回调?或者通过访问带有时间戳的触摸事件列表?

解决方法

您正在寻找的功能是 TouchPanel.GetState.在60Hz下调用此功能很简单.

要获得60Hz,您可以将Game.TargetElapsedTime设置为1/60秒.假设您在30FPS处进行VSyncing,这将为您提供每次抽奖的两次更新(根据Shawn Hargreaves’ post here).

如果您仍希望游戏状态更新以30FPS运行(仅以60FPS进行触摸输入),那么您可以将这些更新放在不同的线程上.在第一次调用Game.Update时开始对该线程进行更新,并等待它在第二个上完成,依此类推.

(您应该注意,通常XNA输入必须在主线程(source)上完成.我认为这适用于手机和触摸输入.)

或者你可以完全替换Game类的时间(自己调用GraphicsDevice.Present).做起来并不容易,但这是可能的.一个好的开始是查看Reflector中的Game类.

(免责声明:我还没有尝试任何基于手机的实际开发,所以可能会有一些我不知道的与手机有关的问题.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读