用户:教练喵查看:1 回复:7 评论:1 创建时间:2018-08-17T19:26:30
小伙伴们大家好啊
教练喵又和大家见面了
大家都应该已经看到了由活动喵发起的小羊肖恩作品征集活动
(详情https://www.codemao.cn/community/1喵614)
本喵看了之后也是跃跃欲试,所以也准备了一个小羊肖恩主题游戏与大家分享。本期教程中,本喵就来教给大家制作一个简单的平衡小游戏。
首先来看一下游戏完成时的效果
(游戏情形)
我们进入游戏看到的是肖恩与他的伙伴跌跌撞撞的前进,而玩家通过键盘的“←”、“→”调整小羊的平衡直到肖恩通过旗帜游戏胜利,如果在通过旗帜之前肖恩失去平衡,那么游戏失败。

确定了游戏完成的效果,我们就该开始创作了
1、制作肖恩前进与通过终点
首先我们制作肖恩前进到旗帜的效果,运用如下积木,就可以十分简单得做到我们想要的效果。
(在肖恩角色中放入前进至终点)
2、制作肖恩前进时的各种动作
1)判断前进时的平衡状态
要制作前进时的动作,先要确定肖恩当前的平衡状态。游戏中肖恩前进时有三种状态:“前倾”、“平衡”、“后仰”。这三种状态的判定是通过肖恩下方的指针角度来判断的。
(在肖恩角色中放入切换造型模块)
根据指针角度的不同来切换造型的编号,就能做到跌跌撞撞的效果了,不过看到这里可能有的小伙伴会有疑问,这个编号动画是什么积木?而这也就是本期教程的重点“函数”。
2)运用函数完成切换造型
所谓函数简单来说就是将一串代码封装到一块积木之中,每当运行到这块积木时,都会把函数中所包含的积木运行一遍。
运用函数,可以使我们的代码变得简洁,而且需要再次使用这些代码时也会变得方便起来。
而我们在编号动画函数中所用的是如下积木。
(在角色中放入编号动画函数)
这个编号动画函数的作用其实就是先将造型切换到造型编号为第一个参数“sta”每隔0.1秒切换造型,直到造型切换到造型编号为第二个参数“over”的造型。
比如当指针角度<0时,会重复执行每隔0.1秒切换造型从造型编号为2切换到造型编号为9。
这样,我们就有了会做“前倾”、“平衡”、“后仰”三种动作的肖恩了
当然肖恩不会每一次游戏都能到达终点。除了跌跌撞撞的前进之外,我们还要准备好失败时,也就是肖恩跌倒的动作。
(游戏失败)
3、制作肖恩跌倒时的情形
我们是根据指针的角度来判断肖恩前进时的状态,同样可以利用指针角度来判断肖恩有没有彻底失去平衡摔倒在地。
我们可以使用如下积木来进行判断。
(在指针中放入失败判定)
当指针的角度超过了“-70~70”这个范围,就会发送广播“结束”表示游戏失败,肖恩摔了下来。而这时就需要判断肖恩是从哪边摔倒的了。
(在肖恩角色中放入失败时的动画)
游戏失败时如果指针是太过偏向右边(也就是指针角度小于-70时),肖恩就会向前方摔倒,反之同理。
因为这个游戏里向前摔和向后摔的动作都是单独的角色。所以触发摔倒时,我们把肖恩前进的角色隐藏起来,将摔倒动作的角色移到肖恩前进的位置上,再次使用编号动画函数将造型从1切换到8。
这样肖恩摔倒的功能也完成了
4、加入操作平衡模块
肖恩前进中的各种动作都准备完成之后,我们就该加入操作平衡的模块了。
(在指针角色中放入操作模块)
我们设置在玩家按下“←”、“→”使变量指针角度改变,通过控制变量改变指针角色的旋转角度。
把指针角度设定到范围区间(-2~2)内是为了不让其无限制改变,避免玩家突然摔倒。
而右图是为了当指针偏转角度太过接近0时使也会使指针偏转,换句话说就是增加游戏难度啦。
这样我们就完成了游戏的操作模块
5、将刻度盘和指针跟随肖恩并制作结束界面
1)把刻度盘和指针跟随肖恩移动
因为指针和底盘是分开的两个角色所以我们在“底盘”中放入如下积木分别把“底盘”和“指针”移至肖恩下方并跟随移动。
(在底盘中放入将底盘和指针移跟随肖恩的模块)
2)制作结束界面
我们在肖恩通过终点时发送胜利广播,或是在肖恩摔倒时发送结束广播来控制结束界面显示。
(在旗帜中放入胜利或失败时显示结束背景和重玩按钮)
无论是胜利还是结束都会发送广播结束界面,不同的是胜利时显示的是高兴的肖恩,结束时显示的是遗憾的肖恩。
最后无论是胜利还是失败都加入一个重新开始按钮让玩家可以再次游玩
(在重来按钮中设置点击重启)
因为游戏是开始就直接运行所以重新开始按钮中可以直接使用重启积木
不要忘了,我们还缺少一个结束界面的背景,本游戏是在画板中创作了一个纯色的矩形背景。
看完这期教程,相信大家都等不及开始制作自己的小羊肖恩主题游戏了,如果在制作过程中遇到什么问题也欢迎大家向本喵或其他小伙伴来提问哦。
1.关注编程猫社区服务号,回复“小羊肖恩”可获取本作品素材BCM文件。
2.根据本期所学创作自己的小羊肖恩主题作品。
3.作品发布后请将作品链接发给喵队长微信求点评(dianmaoshequ-kefu),前三个完成的作品可获得编程猫周边礼物一个。
本期的教程就到这里
关于世界杯作品的任何问题
都可以在文章下方留言提问哦
教练喵和其他训练师都愿意为你解答~
也欢迎小伙伴们贴出自己的作品
继续加油鸭,也许下一个编程大佬就是你~
往期教程回顾:
【编程小课堂】报告!我想做个世界杯主题作品~ https://www.codemao.cn/community/163077
【编程小课堂】世界杯主题作品第二弹! https://www.codemao.cn/community/163378
【编程小课堂】猿马世界杯作品教程第三弹!https://www.codemao.cn/community/163677
【编程小课堂】如何制作存档系统——世界杯教程第四期 https://lab.codemao.cn/community/1喵013
【编程小课堂】 如何制作读档系统(内含简易云列表制作方法)——世界杯作品教程第五期https://www.codemao.cn/community/1喵278