首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快板5:检查Joystick是否为“中性”

快板5:检查Joystick是否为“中性”
EN

Stack Overflow用户
提问于 2017-05-28 20:12:12
回答 1查看 49关注 0票数 1

我正在我的快板5游戏在Visual 2017实现操纵杆控制。我尝试了两种方法:让我的事件队列侦听主循环中的操纵杆事件,以及让主循环中的每个帧使用操纵杆的当前状态更新一次ALLEGRO_JOYSTICK_STATE。但是,当查看操纵杆的pos值时,我发现在这两种情况下,当杆返回到中性时,它实际上不会将x和y位置返回到0.0,而是返回到很低的值,比如0.01或0.02。在大多数情况下,这不会造成问题,但偶尔我的球员会继续缓慢移动,即使操纵杆是中性的,因为pos值太高。

是否有可靠的方法来检查操纵杆是否被推开?我最初认为“重置”位置为0.0,0.0每帧,然后只有当检测到操纵杆移动时才更改它,但事件队列实际上并不能检测到每个帧的移动,甚至当操纵杆被按住时,导致玩家在移动时“结巴”。由于“中性”值很低,我还想检查它们是否低于某个值,如果它们是“中性”的,但这似乎很不可靠,因为每次我松开操纵杆时都会看到不同的数字,我不知道它们能达到多高。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-28 21:49:14

值从-1.0到1.0不等。您可能希望有一个“死区”,其中任何小于0.05的值都被视为0。最终,您可能会让玩家配置这个。

使用事件比轮询更可取,因为您避免了轮询之间丢失事件的风险。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44231587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档