上QQ阅读APP看书,第一时间看更新
2.1 准备工作
经过构思,我画了一张设计稿(见图2.2),对角色造型、布局、玩法进行了大概的设计。
游戏的逻辑非常简单:有一天怪兽袭来,小伙伴们奋不顾身地用土豆还击;发射土豆的装置类似迫击炮,可以调整炮管的仰角;土豆将以抛物线形式发射出去,当土豆砸到怪兽时,怪兽的生命值会减少,在怪兽到达炮台前将其消灭即可赢得胜利;但是天有不测风云,风会对土豆的弹道产生影响,所以一个优秀的炮手要能够根据怪兽的距离和风向准确地调整发射仰角以命中目标,这个艰巨的任务就交给玩游戏的小伙伴吧!
图2.2 设计稿
为了降低开发难度,快速地实现效果,我选择了Arduino UNO进行了原型机的测试。我的计划是只使用一片ATmega328P配合极简单的外围电路实现上述游戏的全部功能。这里面包括电视信号的产生、2D图像渲染、音效的产生、弹道的物理计算、游戏逻辑、游戏手柄的控制信号输入。
我的创客哲学是:“以快速实现目标为原则,着重创新,不纠缠技术细节,开源分享,不做重复劳动”,因此先上网搜索,看看是否有人做过类似的事情。幸运的是,我找到了开源的TVout库。经过测试,发现它非常方便,不但能够绘制点、线、多边形,还可以生成文字和声音。有了它,电视信号的生成、图像的显示和音效问题就很方便解决了。TVout库的测试效果如图2.3所示。
图2.3 TVout库的测试效果