基于小安派AiPi-Eyes-Rx的N合1触摸屏游戏
基于小安派AiPi-Eyes-Rx的N合1触摸屏游戏
MGodmonkey游戏均移植自:【老虎爱3D-bilibili】(这位是真大佬,我只是大自然的搬运工,并做适配)
目前存在的游戏:
- 植物大战僵尸:
demos/pvz
- 羊了个羊:
demos/yang
- 消消乐:
demos/xiaoxiaole
- 华容道:
demos/huarongdao
PVZ功能展示可见:
羊了个羊:
消消乐:
华容道:
基于官方示例文档修改的,适用于4寸电容屏的小安派R1和R2,R1和R2的区别和修改如下:
小安派 - Eyes-R1 带外置 ES8388 音频芯片,支持两路音频输入输出。
小安派 - Eyes-R2 采用内置 CodeC,支持单路音频输入输出。
如果是编译带8388的开发板(AiPi-Eyes-R1)需要配置如下参数
修改
app_main.h
#define DEF_USER_ES8388_EN (1)修改
proj.conf
set(CONFIG_SOLUTION_FUNC_AUDIO_AUADC 0) set(CONFIG_SOLUTION_FUNC_AUDIO_AUDAC 0)
如果是编译不带8388的开发板(AiPi-Eyes-R2)需要配置如下参数
修改
app_main.h
#define DEF_USER_ES8388_EN (0)修改
proj.conf
set(CONFIG_SOLUTION_FUNC_AUDIO_AUADC 1) set(CONFIG_SOLUTION_FUNC_AUDIO_AUDAC 1)
1.硬件说明
硬件仅用到了:
- 小安派Rx
- 4寸 480*480像素的电容屏
- TTL下载器
2.软件说明
修改demos/lv_demos.h
即可体验不同的游戏(一次只能设置一个游戏为1然后编译)
1 |
|
main.c
主程序说明如下:
- lvgl任务线程函数
1 | static void user_task(void *pvParameters) |
- 初试化lvgl
1 | /* lvgl init */ |
- 根据定义,设置不同的初试游戏函数(2048等待后续移植)
1 |
|
简单解析一下xiaoxiaole.c
的游戏初试化程序,大部分都是lvgl库中的知识,文档可以见https://lvgl.100ask.net/master/index.html
1 | void xiaoxiaole() |
3. 编译烧录
环境搭建安装参考:小安派 R2 初体验 - 开箱 + 环境搭建 + 编译烧录
编译:make BL_SDK_BASE=E:/Aithinker_Ai/AiPi-Open-Kits/aithinker_Ai-M6X_SDK
,BL_SDK_BASE
后面为自己的 aithinker_Ai-M6X_SDK
文件夹存储地址
烧录:make flash COMX=COM5 BL_SDK_BASE=E:/Aithinker_Ai/AiPi-Open-Kits/aithinker_Ai-M6X_SDK
注:
目前连接显示屏烧录的时候经常会失败,原因是TTL下载器供电不稳,因此有以下两种解决方式:
- 不连接显示屏烧录
- 连接显示屏,但需要连接TYPE-C供电,然后用TTL下载器烧录
这不得不吐槽一下,我看电路板还有挺大的空间的,为啥不将下载模块设计在上面呢?到时一根Typec连接电脑就能烧录了,难道是为了推广专用下载器吗,,,
4.后续计划
-
移植更多的游戏
-
看看能不能把背景音乐也添加上