有联机排名和屏幕反馈功能的游戏弓

源代码git地址:

https://github.com/EverRaynor/m5stack_Motion-Sensing-Game_arrow

预期功能

  • 实时控制游戏,实现体感射击,镜头移动,移动控制等功能
  • 对游戏内部的击中时间进行相应,将击中数送回开发板
  • 多个设备之间可以进行联机,对击中数进行排名

实际完成情况

预期功能完全实现

实现方案

各功能模块实现思路

 

实物图片:

体感采集和通信

体感使用了陀螺仪模块。与电脑通信使用了蓝牙模块。设备之间联机使用了wifi模块

 

电脑游戏控制

自己用C#语言写了一个集成了串口收发,模拟电脑按键,修改剪贴板为一体的exe程序。将收发都调节为字符模式后,按打开串口按钮。即可按照开发板发过来的 文对游戏进行控制。 文格式为前三个字符控制鼠标横向移动,后三个字符控制鼠标纵向移动。中间两个字符控制射击等其他动作。

击中事件感知

原理为屏幕找色。由于自己用C#写的找色效率过低,会造成很大的延迟从而影响体验。我们使用了按键精灵软件的模糊找色功能。C#与按键精灵通过写入和读取粘贴板内容来进行交互。为了防止写入和读写冲突造成的闪退机制。我们加入了catch和try的机制。

联机排名

在收到了exe发来的找色检测信息之后,我们通过蓝牙发送给开发板。多个开发板通过wifi共享这些数据,来实现共享击中数据。从而实现排名功能。

屏幕显示示例:

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月10日
下一篇 2020年4月10日

相关推荐