资料介绍
描述
恐龙游戏 Arduino 版
介绍
我一直喜欢可穿戴电子产品,几个月前我有一个便宜的 TFT 显示器可以玩,最终目标是熟悉所有电子产品,以便我可以尝试缩小所有东西并制作一个(希望是便携的) ) 智能手表。
我偶然发现了mrt-prodz为 arduino 开发的 flappy bird 游戏,当时我正在寻找一些带有 TFT 显示屏的好项目,在玩了几次游戏之后,我决定用 chromium 构建我自己的经典“恐龙游戏”版本.
该项目的所有代码文件和资产都可以在以下存储库中找到:
示意图
我得到的 TFT 显示器基于 ST7735 驱动 IC,同时它还有一个 SD 卡插槽,由于我手头没有 SD 卡,我最终将所有需要的数据保存在闪存中。TFT 的接线有点痛苦,但多亏了Tweaking4all的帮助,我终于让它运行起来了。
蜂鸣器和按钮的其他连接非常简单,无需解释。我确实注意到,flappy bird 游戏实际上并没有使用基于中断的触发器,而是具有正常的 digitalRead 功能。我决定使用内部拉动和外部中断触发的 ISR 通过数字引脚 2 为用户输入提供服务。
![poYBAGNtnBmAWDauAADTU7TFgQ4092.png](https://file.elecfans.com/web2/M00/79/C2/poYBAGNtnBmAWDauAADTU7TFgQ4092.png)
显示器使用 SPI 通信,所以我最终使用 ardunio uno 的 SPI 硬件引脚与显示器通信。Tinkercad 没有 TFT 显示器的模型,所以我只是标记了连接并将它们放到面包板上。
我的最终设置是将所有东西都塞进了一个小面包板,因为我没有比这更大的东西了。
![pYYBAGNtnByAfyVGAAFy3D-8OH0646.png](https://file.elecfans.com/web2/M00/7A/51/pYYBAGNtnByAfyVGAAFy3D-8OH0646.png)
我的 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 1033次阅读
- 基于Arduino的机器学习开发 1.9w次阅读
- Arduino I/O函数详解 2587次阅读
- 如何使用Arduino Leonardo和MPU6050制作一个有线的手势控制器 2966次阅读
- 如何从网页控制arduino? 4186次阅读
- arduino如何控制舵机及详细步骤 16.5w次阅读
- arduino连接显示屏方法详解 4.7w次阅读
- Arduino如何安装驱动_Arduino安装驱动步骤 5.9w次阅读
- 浅谈Arduino和树莓派的区别 2.1w次阅读
- avr和arduino之间有什么关系?avr单片机和arduino的优点分析 3.1w次阅读
- arduino串口通信 2.1w次阅读
- arduino用什么语言编程 6.9w次阅读
- arduino是什么以及arduino能干什么 4.5w次阅读
- arduino开发板有什么用 2.1w次阅读
- arduino ide编译过程 3404次阅读
下载排行
本周
- 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次下载 | 免费
评论