极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

Scratch第71讲:飞机大战(三)

极客小将2020-11-19-
想了解编程技巧,就请点击上面蓝字:跟我学Scratch编程,关注CC哥 这个游戏越做越有意思,我这次做完之后难度确实增大了,连我这个飞机大战的老手玩起来也觉得挺有难度的,个人觉得这是CC哥做的最好玩的游戏了。今天把轰炸机的部分也做出来了,跟大家分

想了解编程技巧,就请点击上面蓝字:跟我学Scratch编程,关注CC哥



这个游戏越做越有意思,我这次做完之后难度确实增大了,连我这个飞机大战的老手玩起来也觉得挺有难度的,个人觉得这是CC哥做的最好玩的游戏了。今天把轰炸机的部分也做出来了,跟大家分享一下。

学编程要从兴趣出发

学Scratch,CC哥的感觉就是用简单的积木做出自己喜欢的艺术品,有点象乐高积木,一开始只能跟着说明书去安装,后来越来越熟,掌握了其中的技巧,就开始自己设计更多复杂的造型,做出自己喜欢的艺术品,一开始只能做些小的造型,做个小汽车,小房子,慢慢的可以拼成摩天大楼,可以拼各种各样的汽车,轮船,军舰,甚至宇宙飞船。乐在其中,其乐无穷。所以CC哥要告诉家长朋友们,一定不要给孩子学Scratch的时候设定太多的目标,这不是编程大赛,也没什么竞赛名次,那都是不切实际的事情,通过兴趣,培养创造性,思维能力,细心耐心的品质,这样你的孩子在后续漫漫的学习征途中,越走越高,脱颖而出。

游戏演示

这段视频有点大,最好用WIFI看呀,为了录好,CC哥把游戏难度降低之后,才打到子弹满配的情况。

轰炸机的设计构想

轰炸机其实就是更大的飞机,更禁打,血量高。另外可以发射更多的子弹。然后被打掉之后有机会出装备。装备这部分CC哥今天先做的是子弹装备,也就是大家说的“吃子弹”,下次CC哥再把“雷”加进去。所以今天我们的程序就是要做到这几个元素。

轰炸机代码

先确认一下轰炸机的出场规律和生命值,CC哥为了演示的需要,把出现频率设置的有点高。

upload/article/images/2020-11-19/a42325e5828aee0f23f481c4d4be6d05.jpg

再看轰炸机出场模式:

upload/article/images/2020-11-19/c44d7fd84b211170c5f3a9b8b1521924.jpg

先看造型,看出问题没有?这个轰炸机没有在造型的中心点上,而是偏下了,为什么?

别的飞机一般出来,碰到舞台边缘就消失了,CC哥都是这么处理的。而轰炸机不行,轰炸机比较大,移动得又很慢,如果碰到边缘就消失显得很别扭。轰炸机应该是慢慢的飞出舞台边缘。

https://cdn.china-scratch.com/timg/191125/135K54P3-2.gif

看到没?这点怎么实现?一般角色是不能完全飞离舞台之外的,怎么做到的?如果不知道的朋友,就好好回头去看CC哥早期的课程,看看冰激凌那一课。做游戏除了做构思之外,就是做细节,尤其是技术细节不能放过,一定要处理好。非技术细节可以偷懒,技术细节不可以哦。

upload/article/images/2020-11-19/79e0e6fd48663fb298c5a42a239bbaf5.jpg

这段代码就是轰炸机入场和离场的代码,循环里上半部分是入场,下半部分是离场。入场是传统的代码,离场就是CC哥说的能够让角色完全离开舞台的技巧。入场的代码不能用离场的来代替,为什么不行,大家试一下就知道了。

轰炸机发射子弹:

upload/article/images/2020-11-19/be848d2f5d4f9f5b81a7e44d1c9bcc94.jpg

这里面有两点,子弹是单独的角色,所以需要轰炸机和子弹来做配合,CC哥说过,都是克隆体的游戏,尽量克隆体之间沟通不要用消息,为什么以前解释过很多遍了。所以这里我们用“轰炸机发射”这个变量来做沟通用的变量。用“轰炸机发射位置x,y”来记录子弹发射的位置点。第二,不是每一次轰炸机出场都发射子弹,所以CC哥的这个判断语句的条件就是取50%的概率,轰炸机会发射子弹。

轰炸机被击中过程的效果:

upload/article/images/2020-11-19/f16aadf4d6d59e7df7c83f0ea7d72d25.jpg

upload/article/images/2020-11-19/8a67651178410fa67fd15d25319da096.jpg

这部分是做完之后,CC哥才加上去的,做完完的时候,CC哥突然发现,轰炸机一般要打半天才打掉,都不知道轰炸机还剩多少血量,打起来挺灰心的,不知道什么时候才能被打死还要不要继续打,还是放过去。为了解决这个问题,CC哥觉得如果在轰炸机在不断被击中的过程中,随着血量的降低,飞机上不同的位置开始着火,就能充分表现这一点,后来加上去发现效果还不错。

轰炸机被击毁的代码:

upload/article/images/2020-11-19/6c1979fb56baf5939d037e9218ac93b5.jpg

击毁的效果CC哥就地取材,就用了子弹角色的造型,不过就是个头大些,然后被击毁后,这个爆炸造型不断变大,然后消失。

upload/article/images/2020-11-19/2df8e181d9427152782a0d655c40d5ad.jpg

upload/article/images/2020-11-19/077c76282c4bc6897e84270109490733.jpg

赠送装备这部分因为这次只有一种装备送,所以没做判断,同时装备也没做克隆,就用消息来处理好了。

轰炸机发射子弹

upload/article/images/2020-11-19/0e98eb4b147c824f9a18647cd5b043a7.jpg

这两段代码一个是什么时候发射子弹,一个是怎么发射。都是放在子弹角色里,跟敌机发射的子弹的角色是一个角色。为什么用自定义命令是为了发射效果。

upload/article/images/2020-11-19/b06a1dc2fb7baf18af0c283290c64e1f.jpg

用自定义命令,运行时不刷新屏幕后就是第二种效果。

奖励装备

upload/article/images/2020-11-19/08f9d9ba0bc0713d9a522ae10ab3dd3d.jpg

upload/article/images/2020-11-19/90777353dcb0aececec7110e809be62f.jpg

这个造型也是就地取材,直接用两个子弹拼在一起,然后画个圈就好了。

代码也简单,引用了计时器,确保如果20秒还不被吃掉,那么标志就消失,代表没吃到,如果知道了就提升子弹级别。

子弹级别是引入的新的变量,一共分四级,也就是一排最多4发子弹。

所以战机子弹的角色部分也要做出调整,需要在根据子弹的级别来判断子弹的发射模式了。下面这段代码就是对发射子弹部分做的改变。

upload/article/images/2020-11-19/7518f6cc9a9e32be97f514ae820e8f79.jpg

upload/article/images/2020-11-19/c4cc432472139b67f6547347d177a46d.jpg

稍微复杂了点,但是很简单,就是子弹克隆的位置放好就行。

总结

今天就讲这么多,一些因为引入轰炸机引起的小的改动,比如战机撞到轰炸机等这些小调整都是在判断上略微调整,就不再一一列举了。飞机大战还准备再做一讲,准备把护航飞机和大炸弹也做进去,然后飞机大战这一个主题就可以结束了,大家期待不?

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除

网友点评

共有5条评论来说两句吧...

在线客服