将micro-bit开发板作为游戏手柄,操控一个简单的飞机大战网页游戏(基于pixi.js开发)
技术细节:
- 操控实现:由于默认只能通过运行在开发板上的python程序读取和处理输入信息,为了实现对游戏的操控,利用pyserial库进行串口通讯读取按键信息,再使用相应的库在电脑端模拟键盘按键,起到将控制信息传给浏览器的效果。
- 反向通讯:为了将游戏中的状态实时更新到开发板上,我采用了一套极其暴力的解决方案。首先使用fastapi搭建一个简易的后端,用于存储和维护游戏状态;而网页游戏js代码中通过发起api请求的方式改变后端状态数据;最后在python端获取后端状态信息,利用串口通信将信息传递给开发板。
游戏搭建:pixi.js
服务端搭建:fastapi
串口通信:pyserial
fastapi==0.96.0
pykeyboard==0.1.5
pyserial==3.5
PyUserInput==0.1.10
Requests==2.31.0
uvicorn main:app
python server.py
client.py
为在开发板上运行的代码
http-server
或其他方式启动静态资源服务器