查看: 548|回复: 1

[教程] 【Gravity】Mind+掌控板进阶教程-项目三 坦克大战

[复制链接]
本帖最后由 EVE 于 2019-7-26 19:11 编辑

项目 坦克大战

伴随着计算机技术的发展,电子游戏进入了人们的视野,并迅速风靡全球。与传统游戏不同,电子游戏借助计算机营造出更丰富的视听感,进一步提升了玩家的游戏体验。
在这个项目中,我们将利用Mind+实时模式下丰富的舞台交互复刻一款经典电子游戏——坦克大战。

截图201907261441387887.png
头脑风暴

问题清单
1、在坦克大战中,玩家需要如何操作?
2、玩家需要遵守哪些规则?
3、玩家想要达成的目标是什么?
4、玩家在游戏中有哪些交互的对象?
5、需要哪些硬件实现玩家的操作?
6、尝试从游戏中几个基本的交互对象分解游戏功能。

核心知识点


一、Mind+实时模式简介
打开Mind+软件,切换为“实时模式”。实时模式下,软件界面介绍如下。

图片2.png


操作说明
1、删除/新建角色

屏幕快照 2019-07-26 18.39.43.png

2、编写/运行程序
实时模式下,每个角色要分别编程。单击角色对应程序块即可运行程序,运行中的程序有黄色底边。

截图201907261437396444.png 截图201907261437483238.png


连接掌控板
实时模式下,通过以下三步可连接掌控板:
1、用USB线将掌控板连接到电脑;
2、在扩展中,选择掌控板;

截图201907261438074225.png

3、选择对应COM口。

截图201907261438236145.png


连接成功后,显示端口信息和“连接设备成功”。

截图201907261438393606.png


二、模拟角度传感器
模拟角度传感器是一款非常基本的模拟信号输入设备。上面有一个旋钮,用来改变输入信号的大小。

截图201907261439024047.png
                    
在生活中就有很多地方用到了角度传感器,比如在音箱上旋转旋钮可以改变声音大小。

截图201907261439151667.png

规划方案

功能分解
在实时模式下,需要对每个角色分别编程,最终所有角色在舞台上产生交互效果。
所以在这里,我们将对坦克大战中几个基本角色进行功能分析。

屏幕快照 2019-07-26 18.39.22.png

为了使游戏更加人性化,还要完善游戏机制。

屏幕快照 2019-07-26 18.39.33.png

构思舞台
在本项目中,玩家与游戏的主要交互是舞台,就像坦克大战的游戏界面一样

勾勒出你设计的坦克大战游戏的交互界面,画出各个角色在舞台中的简单位置示意图。

屏幕快照 2019-07-26 18.42.45.png

问题记录
在后面项目实现过程中,可能会遇到各种各样的困难,尝试在下表中记录你遇到的问题和解决办法,便于以后出现类似问题时能更好的面对。

屏幕快照 2019-07-26 18.46.47.png
功能实现
功能1:角度传感器控制“坦克”在舞台底部左右移动
连线图:

截图201907261443359485.png

测试程序:角色读取角度传感器值。

截图201907261443539699.png

运行程序,转动旋钮,读值为0-4095。
接下来,需要新建一个“坦克”角色。

“坦克”角色图片:因为软件角色库中没有合适的图片,所以我们可以使用自己喜欢的坦克图片,下面图片可做参考(后面学习中,选择了绿色坦克,因为有双发射炮口,效果更加炫酷)。

屏幕快照 2019-07-26 18.48.31.png    

新建“坦克”角色:点击“上传角色”,选择要导入的图片。

截图201907261444434044.png

“坦克”角色功能程序:角度传感器控制“坦克”x坐标变化,使其随旋钮转动左右移动。

截图201907261851221951.png


点击绿旗或程序块运行程序。
运行结果:转动旋钮,“坦克”随转动方向左右平移

功能2:按下按钮,发射炸弹
连线图:

截图201907261445212497.png


接下来新建“炸弹”角色。
“炸弹”角色图片
截图201907261445399547.png

新建“炸弹”角色:点击“上传角色”,选择要导入的图片。导入后为了适应“坦克”的双炮口,需要绘制两个“炸弹”的造型。在菜单栏选择“造型”,点击“转换为矢量图”。

截图201907261445531889.png

选中图案,调节大小,让舞台上的“坦克”和“炸弹”看起来大小相宜即可,然后复制“炸弹”造型,形成双炸弹。

截图201907261446094264.png

“炸弹”角色功能程序:选中“炸弹”角色,编写下面程序
截图201907261447259757.png 截图201907261448171005.png
点击绿旗运行程序。
运行结果:转动旋钮,“坦克”随转动方向左右平移;按下按钮,“坦克”发射“炸弹”。

截图201907261448293227.png

功能3:飞机从舞台上方落下,攻击坦克;被炸弹击中则**

这里需要新建“飞机”角色。
“飞机”角色图片:
截图201907261448489595.png
新建“飞机”角色:点击“上传角色”,选择要导入的飞机图片。调节“飞机”造型大小,与舞台上的坦克看起来大小相宜即可。

截图201907261449028050.png

“飞机”角色下,加入“**”造型,并调节造型大小。

截图201907261449213546.png
保存社区图片.png

功能程序:选中“飞机”角色,编写下面程序
截图201907261854421498.png 截图201907261854515415.png
点击绿旗,运行程序
运行结果:飞机从舞台顶部随机位置下落
转动旋钮,“坦克”随转动方向左右平移
按下按钮,“坦克”发射“炸弹”
“炸弹”碰到“飞机”,显示“**”造型。

功能4:完善游戏机制

屏幕快照 2019-07-26 18.55.04.png


编程实现步骤为STEP1-STEP4。

STEP1:新建3个适用于所有角色的变量。

截图201907261855409972.png 截图201907261855477172.png
屏幕快照 2019-07-26 18.56.42.png

STEP4:新建“成功失败”角色,包含“挑战成功”、“挑战失败”两个造型。这里可自己绘制造型。

截图201907261857267371.png

“成功失败”角色程序

截图201907261857321286.png

构造外观
本项目的视觉交互主要在于软件中的舞台设计,硬件部分只需要固定角度传感器和按钮即可,这里不再作示例图。

更多创意file:///C:\Users\Xuelin.Wu\AppData\Local\Temp\ksohtml3472\wps43.jpg
想一想,在真实的电子游戏中,还有哪些设计可以提升玩家体验?比如好看的背景设计,更丰富的角色交互,加入背景音乐等。尝试从自己玩游戏的感受出发,设计出更加好玩的坦克大战!

评价与反思
与人分享快乐,能产生更多快乐,尝试与身边的人一起来玩坦克大战!你还可以在DF创客社区中分享作品,听听更多人的建议!社区网址:www.dfrobot.com.cn

问卷调查
尝试让玩过你作品的人做下面的问卷表,看看在别人眼中这个作品的闪光点与不足

屏幕快照 2019-07-26 18.57.50.png

自我反思
梳理自己设计项目的思维逻辑、项目在执行层面的问题和经验等等,可以帮助我们形成学习的闭环,加深在项目进行的过程中对知识点和内容的理解,找到可以改进和提高的地方。

屏幕快照 2019-07-26 18.58.14.png

rzegkly  版主

发表于 2019-7-27 07:25:57

教程详尽,学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail