所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
【Gravity】Mind+掌控板进阶教程-项目三 坦克大战
EVE EVE 2019-10-31 11:26:11
5
1
简单

本帖最后由 EVE 于 2019-7-26 19:11 编辑

项目 坦克大战

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

projectImage

头脑风暴

问题清单

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


核心知识点

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

projectImage



操作说明


1、删除/新建角色

projectImage


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

projectImage
projectImage



连接掌控板

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

projectImage


3、选择对应COM口。

projectImage



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

projectImage



二、模拟角度传感器

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

projectImage

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

projectImage


规划方案

功能分解

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

projectImage


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

projectImage


构思舞台

在本项目中,玩家与游戏的主要交互是舞台,就像坦克大战的游戏界面一样
勾勒出你设计的坦克大战游戏的交互界面,画出各个角色在舞台中的简单位置示意图。

projectImage


问题记录

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

projectImage

功能实现功能1:角度传感器控制“坦克”在舞台底部左右移动

连线图:

projectImage


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

projectImage


运行程序,转动旋钮,读值为0-4095。接下来,需要新建一个“坦克”角色。
“坦克”角色图片:因为软件角色库中没有合适的图片,所以我们可以使用自己喜欢的坦克图片,下面图片可做参考(后面学习中,选择了绿色坦克,因为有双发射炮口,效果更加炫酷)。

projectImage

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

projectImage


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

projectImage



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


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

连线图:

projectImage



接下来新建“炸弹”角色。“炸弹”角色图片

projectImage


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

projectImage


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

projectImage


“炸弹”角色功能程序:选中“炸弹”角色,编写下面程序

projectImage
projectImage

点击绿旗运行程序。运行结果:转动旋钮,“坦克”随转动方向左右平移;按下按钮,“坦克”发射“炸弹”。

projectImage


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


这里需要新建“飞机”角色。“飞机”角色图片:

projectImage

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

projectImage


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

projectImage
projectImage


功能程序:选中“飞机”角色,编写下面程序

projectImage
projectImage

点击绿旗,运行程序运行结果:飞机从舞台顶部随机位置下落转动旋钮,“坦克”随转动方向左右平移按下按钮,“坦克”发射“炸弹”当“炸弹”碰到“飞机”,显示“**”造型。
功能4:完善游戏机制

projectImage



编程实现步骤为STEP1-STEP4。
STEP1:新建3个适用于所有角色的变量。

projectImage
projectImage
projectImage


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

projectImage


“成功失败”角色程序

projectImage


构造外观

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


更多创意

file:///C:\Users\Xuelin.Wu\AppData\Local\Temp\ksohtml3472\wps43.jpg

想一想,在真实的电子游戏中,还有哪些设计可以提升玩家体验?比如好看的背景设计,更丰富的角色交互,加入背景音乐等。尝试从自己玩游戏的感受出发,设计出更加好玩的坦克大战!


评价与反思

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


问卷调查

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

projectImage


自我反思

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

projectImage
Makelog作者原创文章,未经授权禁止转载。
5
1
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]