成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【鴻蒙開發板試用報告】用OLED板實現FlappyBird小游戲(上)

系統
總是做各種Demo,是時候做個什么小應用來練練手了。躊躇了很久,果然還是搞個小游戲才有意思。想到幾年前風靡全球的FlappyBird,一個屏幕一個按鈕就足夠了,正好適合。OLED屏幕、按鍵的驅動已經有大牛們發布了,拿來用就可以。游戲邏輯什么的,用C語言實現也不是什么難事。主要目的就是要驗證一下HarmonyOS復雜界面即時交互應用可行性

[[354024]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

總是做各種Demo,是時候做個什么小應用來練練手了。躊躇了很久,果然還是搞個小游戲才有意思。想到幾年前風靡全球的FlappyBird,一個屏幕一個按鈕就足夠了,正好適合。OLED屏幕、按鍵的驅動已經有大牛們發布了,拿來用就可以。游戲邏輯什么的,用C語言實現也不是什么難事。主要目的就是要驗證一下HarmonyOS復雜界面即時交互應用可行性。

這一篇我們主要解決屏幕繪制的問題,下一篇文章將把剩余的部分介紹完。

我們需要用變量記錄小鳥的Y坐標、垂直速度、各個煙囪的位置、方向等數據,然后在主循環中不斷更新他們,再渲染到屏幕上。

梳理一下主循環的流程,如圖:


OLED的驅動,我使用了SiWei Xu老師的代碼(Source地址)。對于BirdDrawScreen的部分,我們需要解決一個問題,那就是在渲染每一幀時,清空屏幕,然后在屏幕指定的位置繪制圖片。為此,我自己寫了一個函數ssd1306_DrawBitmapAtPosition,通過參數xo, yo指定要繪制的位置坐標。

  1. void ssd1306_DrawBitmapAtPosition(const uint8_t* bitmap, uint8_t width, uint8_t height, int8_t xo, int8_t yo) 
  2.  
  3.  
  4. for (uint8_t y = 0; y < height; y++) { 
  5.  
  6. if (yo + y > SSD1306_HEIGHT || yo + y < 0) continue
  7.  
  8. for (uint8_t x = 0; x < width; x++) { 
  9.  
  10. if (xo + x > SSD1306_WIDTH || xo + x < 0) continue
  11.  
  12. uint8_t byte = bitmap[(y * width / 8) + (x / 8)]; 
  13.  
  14. uint8_t bit = byte & (0x80 >> (x % 8)); 
  15.  
  16. ssd1306_DrawPixel(xo + x, yo + y, bit ? White : Black); 
  17.  
  18.  
  19.  

 小鳥和煙囪的圖片代碼,先用畫圖做好,再通過img2code.py可以輕松搞定。

這里小鳥只做了一幀,以后或許可以做成多幀動畫效果。煙囪則是一個head和一段重復的body構成,以節約內存。

游戲邏輯沒什么難點,主要就是小鳥有重力加速度,煙囪的隨機生成、以固定速度移動并循環過場,碰撞檢測等等。后面的文章會放出代碼。上圖:

[[354027]]

下一篇,我們將加入按鈕事件,控制小鳥的飛行。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2020-12-02 11:55:40

OLED

2021-01-15 12:15:36

鴻蒙HarmonyOS游戲

2020-10-30 17:42:36

鴻蒙 OS Hi386

2020-11-17 12:15:36

MQTT開發

2020-11-27 11:52:40

OneNet

2020-11-26 12:02:07

OneNet平臺

2020-11-03 09:53:04

體驗官方固件程序

2020-10-21 10:01:47

HiSpark Wi-智能家居套件

2020-10-20 09:32:43

HiSparkWi-FiIoT

2020-11-23 09:32:43

WIFI連接

2021-09-02 15:25:53

鴻蒙HarmonyOS應用

2020-12-09 09:44:29

Hi3861硬件介紹鴻蒙開發板

2020-10-23 09:50:15

HiSpark Wi-開發套件

2020-10-29 09:53:06

Hi3861硬件開發板

2020-11-11 10:06:15

鴻蒙

2021-01-28 14:46:29

鴻蒙HarmonyOS應用開發

2020-12-31 12:22:15

鴻蒙Hi3861應用開發

2020-10-26 10:21:39

Wi-Fi IoT智能家居套件

2020-11-04 13:20:14

HiSpark

2009-02-13 09:19:23

試用報告MoonlightSilverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 性色av香蕉一区二区 | 亚洲成人一区二区 | 欧美一区2区三区3区公司 | 成人毛片一区二区三区 | 国产一区高清 | 综合久久av | 天堂综合网 | 精品一区二区三区在线视频 | 国产美女精品 | 中文字幕av中文字幕 | 久久久国产一区二区三区 | 欧美精品一区三区 | 性一交一乱一透一a级 | 特级黄一级播放 | 久久av一区二区三区 | 精品国产不卡一区二区三区 | 午夜视频一区 | 欧美日韩亚洲视频 | 成人免费一区二区三区视频网站 | 在线一区二区三区 | 久久久久国产精品www | 精品国产18久久久久久二百 | 中文字幕亚洲一区二区va在线 | 一区二区三区影院 | 日韩中文字幕视频在线 | 日日夜夜精品视频 | 日本又色又爽又黄又高潮 | 伊人久久麻豆 | 一区中文字幕 | 国产日韩久久 | 亚洲视频免费观看 | 日韩欧美在线观看视频网站 | 成人在线免费视频 | 久久久久久久久久久久一区二区 | 中文字幕精品一区 | 久久精品色欧美aⅴ一区二区 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 国产成人免费视频网站高清观看视频 | 国产精品亚洲综合 | 成人字幕网zmw | 欧美一级电影免费 |