体验Hi3861开发版的太空人避障游戏 精华
鸿联
发布于 2021-8-24 14:00
浏览
7收藏
8月23日,OpenHarmony代码仓新上线了一个运行在Hi3861 WLAN模组上的小游戏程序,同时上线还有“分布式搜索”,“分布式购物车”,“井字过三关”三款分布式应用开发程序。今天我们体验一下运行在Hi3861上的“太空人避障游戏”。
准备
1.开发环境: Windows + DevEco Device Tool2.2 Beta1,参考官网Windows开发环境准备 和Windows平台源码编译
2.源码框架: OpenHarmony 2.0 Canary
3.硬件: HiSpark Wi-Fi IoT 开发套件的 主控板 + 底板 + OLED拓展板 + 带蜂鸣器的交通灯板,装配好如图所示。
工程
- 下载代码
https://gitee.com/openharmony/app_samples/tree/master/CompleteApps/AstronautsGame - 将解压后 app_samples-master/CompleteApps/AstronautsGame 下的astronauts_game和common两个文件夹复制到OpenHarmony 系统源码中的applications/sample/wifi-iot/app目录下。
- 修改applications/sample/wifi-iot/app/BUILD.gn 文件,使astronauts_game模块参与编译。添加deps = [ “//applications/sample/wifi-iot/app/common/hals:hals” ],如下:
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"astronauts_game",
]
deps = [ "//applications/sample/wifi-iot/app/common/hals:hals" ]
}
- 游戏中OLED显示要用到I2C功能,音效要使用PWM驱动蜂鸣器,系统源码OpenHarmony 2.0 Canary默认I2C和PWM是关闭的,如果首次使用,请打开 device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk 文件,修改hi3861 内核配置。
将 CONFIG_I2C_SUPPORT is not set这一行, 改为CONFIG_I2C_SUPPORT=y
将 CONFIG_PWM_SUPPORT is not set这一行, 改为CONFIG_PWM_SUPPORT=y - 完成后保存,在PROJECT TASKS中,点击工程的“Clean”按钮,然后编译,烧录,就可以试用了。
使用
- 上电后进入游戏初始界面,按下开发板中的user按键开始游戏。
- 使用OLED拓展板上的按键1、按键2左右移动来躲避随机落下的障碍物。
- 屏幕右上角会记录得分,难度会随着分数的增加而提高。
- 如果碰撞到障碍物和OLED屏左右末端,则游戏结束。
- 按下user按键重新开始游戏。
改进
试用后,编译烧录顺利,游戏功能正常。唯独交通灯板的黄灯常亮,查程序中并无对黄灯的控制代码,可以在music.c中增加少量代码,把黄灯关闭。
void StartBeepMusicTask(void)
{
IoTGpioInit(12);
HalIoSetFunc(12, 0);
IoTGpioSetDir(12,IOT_GPIO_DIR_OUT);
IoTGpioSetOutputVal(12,0);
重新编译烧录后,消除了黄灯常亮的现象
已于2021-8-24 21:02:35修改
赞
9
收藏 7
回复
相关推荐
家里吃灰的板子又可以拿出来玩了。
3861潜力无穷
怎么个潜力无穷?
在工业 控制和农业生产中,可以发挥想象力
好东西就要 一键三连。。
是的,终于不用吃灰了,有时间拿出来刷了耍耍
代码没了qwq