#跟着小白一起学鸿蒙# [番外]一起学做FlappyBird 原创 精华
左翼风发
发布于 2022-11-13 14:57
浏览
4收藏
#跟着小白一起学鸿蒙# [番外]一起学做FlappyBird
作者:王石
简介
记得很久以前有个大火的像素游戏叫FlappyBird,我们就一起看看如何能用OpenHarmony学习做个FlappyBird。本文中引用的图片资源均来自与Github。
开发
1. HAP应用建立
《#跟着小白一起学鸿蒙#[六]如何编写一个hap应用》里我们介绍了简单的Hap应用的开发以及基础控件的介绍,这里我们就不赘述Hap项目的建立过程,以下就是基础的Hap的page文件:index.ets
build是基础页面的构造函数,用于界面的元素构造,其他的页面的生命周期函数如下:
2. Canvas介绍
canvas是画布组件用于自定义绘制图形,具体的API页面如下:
页面显示前会调用aboutToAppear()函数,此函数为页面生命周期函数
canvas组件初始化完毕后会调用onReady()函数,函数内部实现小游戏的初始页面的绘制
2.1 初始化页面数据
页面状态有三:
- 0:等待开始界面
- 1:游戏进行
- 2:游戏结束
2.2 绘制Bird
小鸟飞行状态有三种:
- 翅膀在中间:0
- 翅膀在上:1
- 翅膀在下:2
3. 游戏逻辑
简单的小游戏主体游戏逻辑为:等待开始,开始,结束流程图如下:
4. 完整逻辑
遗留问题:
-
水管只在下层显示:可以在上层显示;
-
地面没有让动
-
游戏声音问题:目前ohos不支持音频播放资源音频,看之后版本是否支持
-
DevEcoy用setInterval重绘canvas会导致ide崩溃
5. 获取源码
见附件
https://gitee.com/wshikh/ohosflappybird
总结
本文主要介绍了小游戏的开发,画布功能的使用
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
已于2022-11-14 16:34:15修改
赞
9
收藏 4
回复
9
3
4
相关推荐
非常经典的小游戏,希望未来鸿蒙能支持更多的组件吧。
没有上层水管感觉一下简单多了
哈哈,没那么压抑,是不是有天高任鸟飞的感觉,