資料介紹
描述
恐龍游戲 Arduino 版
介紹
我一直喜歡可穿戴電子產品,幾個月前我有一個便宜的 TFT 顯示器可以玩,最終目標是熟悉所有電子產品,以便我可以嘗試縮小所有東西并制作一個(希望是便攜的) ) 智能手表。
我偶然發現了mrt-prodz為 arduino 開發的 flappy bird 游戲,當時我正在尋找一些帶有 TFT 顯示屏的好項目,在玩了幾次游戲之后,我決定用 chromium 構建我自己的經典“恐龍游戲”版本.
該項目的所有代碼文件和資產都可以在以下存儲庫中找到:
示意圖
我得到的 TFT 顯示器基于 ST7735 驅動 IC,同時它還有一個 SD 卡插槽,由于我手頭沒有 SD 卡,我最終將所有需要的數據保存在閃存中。TFT 的接線有點痛苦,但多虧了Tweaking4all的幫助,我終于讓它運行起來了。
蜂鳴器和按鈕的其他連接非常簡單,無需解釋。我確實注意到,flappy bird 游戲實際上并沒有使用基于中斷的觸發器,而是具有正常的 digitalRead 功能。我決定使用內部拉動和外部中斷觸發的 ISR 通過數字引腳 2 為用戶輸入提供服務。
?
?
顯示器使用 SPI 通信,所以我最終使用 ardunio uno 的 SPI 硬件引腳與顯示器通信。Tinkercad 沒有 TFT 顯示器的模型,所以我只是標記了連接并將它們放到面包板上。
我的最終設置是將所有東西都塞進了一個小面包板,因為我沒有比這更大的東西了。
我的 TFT 顯示器的另一個視圖供任何人參考
軟件
軟件堆棧可以分解為以下子任務
做一個會跳的盒子
這一步應該相當簡單,人們實際上使用歐拉積分方法給物體一些力(加速度),然后使用非常小的 dt 數值計算速度和位移。
加速度 = 力 / 質量Delta_{位置} = 速度 * dt Delta_{速度} = 加速度 * dt
由于某種原因,我最終使用了彈丸在恒定加速度下的運動方程。
y = ut + (1/2)at^2
每次按下按鈕時,盒子的初始速度都是 $30 m/s$,我使用重力加速度值和初始速度來獲得正確的跳躍響應。
畫仙人掌,讓它四處走動
我使用了一些基本的形狀(圓角矩形)來制作一個仙人掌狀的物體,并在 -ve x 方向上給它一個恒定的速度,讓它看起來像恐龍在向前移動。
我使用了mrt-prodz帖子中討論過的畫筆方法來制作動畫,這基本上意味著我通過在舊像素上繪制背景顏色來擦除它們,然后在新像素上繪制所需的顏色,因此我不得不更改一些每幀中的選定像素,而不是整個 128x160 像素。
用恐龍替換盒子
接下來我嘗試用恐龍(位圖)替換盒子,看起來恐龍在地板上滑行,而且非常人工。
我決定讓恐龍行走,就像原來的游戲一樣,在從精靈表中剪下兩個行走的幀之后,我嘗試了一個簡單的代碼,在這些幀之間切換,讓它看起來像恐龍在行走。
步行與滑冰恐龍
上述方法取得了部分成功,因為由于更新速度,整個恐龍圖像現在有一個奇怪的閃爍,我意識到我正在更新整個恐龍位圖,但大部分身體是靜止的,只有腿應該移動。
我最終通過將 2 個恐龍框架分成 2 個部分(總共 4 個)來解決這個問題,其中每個框架的頂部是身體,底部是腿,幸運的是動畫的設置方式是恐龍的身體實際上在兩幀之間從未改變,只有腿的位置發生了變化,所以我固定了身體,只更新了恐龍的腿部,這消除了大部分或全部的閃爍,最后我得到了一個非常流暢的動畫。
添加云、聲音、樂譜和其他小細節
我現在添加了其他小細節,如聲音、介紹和游戲幀。我還添加了分數顯示和其他功能。我想為游戲提供一個像原版一樣多云的背景,因為它不僅有助于美感,而且還可以顯示恐龍一直相對于背景移動。
我厭倦了使用位圖中的云,但是云中的閃爍有點太多,而且它們的功能太小以至于我幾乎不關心,所以我最終用常規的圓角矩形替換了位圖,這大大提高了游戲性能。
結果
在修復了幾個錯誤之后,我終于有了一個可以工作的恐龍游戲
未來升級
雖然我沒有立即的改進計劃,但我確實有一些我想實現的功能。
- 添加生命
- 迪諾有力量(噴火)
- 新障礙(鳥類?)
- 消除由于跳躍引起的閃爍
- Arduino硬恐龍液晶游戲
- 在現實生活中控制的Chrome恐龍游戲
- Arduino記憶游戲
- 帶有OpenCV和Python的Google Chrome恐龍游戲
- Arduino游戲機
- 基于Arduino的2人游戲
- Arduino迷宮游戲開源分享
- 使用Arduino UNO構建游戲
- 如何使用游戲手柄模塊制作Arduino SNAKE游戲
- 基于Arduino MKR Zero的Chrome恐龍游戲 1次下載
- Arduino井字游戲和熄燈游戲開源分享
- Arduino迷宮游戲
- 使用Arduino的自動恐龍游戲
- 使用Tinkercad在Arduino上玩霸王龍恐龍游戲
- freecell.exe下載 (windows 空頭接龍游戲
- 如何使用Python和PinPong庫控制Arduino 718次閱讀
- 基于Arduino的機器學習開發 1.7w次閱讀
- Arduino I/O函數詳解 2342次閱讀
- 如何使用Arduino Leonardo和MPU6050制作一個有線的手勢控制器 2625次閱讀
- 如何從網頁控制arduino? 3836次閱讀
- arduino如何控制舵機及詳細步驟 16.3w次閱讀
- arduino連接顯示屏方法詳解 4.7w次閱讀
- Arduino如何安裝驅動_Arduino安裝驅動步驟 5.8w次閱讀
- 淺談Arduino和樹莓派的區別 2.1w次閱讀
- avr和arduino之間有什么關系?avr單片機和arduino的優點分析 3w次閱讀
- arduino串口通信 2.1w次閱讀
- arduino用什么語言編程 6.9w次閱讀
- arduino是什么以及arduino能干什么 4.4w次閱讀
- arduino開發板有什么用 2w次閱讀
- arduino ide編譯過程 3203次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多