Scratch

状课网-少儿编程网课专业平台

Scratch 跟我学scratch编程:飞机大战(一)

发布时间:2021-11-30 13:22:39 浏览 0

  最近工作有些忙,再加上也不知道该做些什么,就有两周没更新教学帖了,这星期不论如何一定要给大家做一个,做个游戏吧,之前一直有朋友想让CC哥做个飞机大战的小游戏,那么CC哥就做一个自己记忆中的飞机大战的小游戏。同时通过这个小游戏给大家教一个做项目的思路,掌握了这个思路,终身受益。

  要做什么做程序先要想好做什么,这一步永远是最重要的,在编程中可以理解成,你最终要做成一个什么样子的游戏或程序,那么如何知道要做成什么样子呢?方法是:

  1:找一些你觉得不错的游戏或程序来参考。

  2:但是通常是发现找到的所有的例子都不让你十分满意,那么,把你每一个例子里面满意的地方和不满意的地方都列出来,然后形成你自己想要的样子。

  CC哥印象里最熟悉的游戏就是小时候街机里的《大旋风》,CC哥经常逃课去打的游戏,一个游戏币可以打一个小时以上。现在还记忆尤新,还有就是微信里的之前玩的全民飞机大战。所以CC哥基本上在程序设计上就会按照这种传统的飞机大战的方式走:

  1:二维游戏,敌机从上向下飞,玩家战机自下向上飞。

  2:用上下左右键控制飞机的飞行,用空格键控制发射子弹。

  3:游戏的复杂性主要体现在敌机的种类,和敌机的攻击方式。

  4:战机可以通过吃子弹奖励和炸弹奖励等,提升子弹效果和获得大炸弹。

  找素材是重点做scratch游戏,找素材是最重要的步骤了,我们也不是画家或PS专家,所以自己做素材的能力实在有限的,所以在网上搜素材最方便,CC哥就喜欢在官网里找类似的游戏,然后直接去用他们的素材来做程序。

跟我学scratch编程:飞机大战(一)

跟我学scratch编程:飞机大战(一)

跟我学scratch编程:飞机大战(一)

  这是CC哥找到的素材,还不错吧。素材有点少,不过没关系,今天反正才是第一讲,CC哥慢慢找,每一讲都会增加一些素材种类和增加一些游戏效果和技能特效。

 

  如果想免费获得CC哥的讲座中的程序代码以及游戏素材,可以通过扫描二维码关注《跟我学Scratch编程》,然后点击获取代码即可。

跟我学scratch编程:飞机大战(一)

  先做战机控制思路清晰,文章就好写了,你可以画个程序的流程图,这样更规范,不过CC哥还是喜欢不打草稿就这么边写边改,大不了推到重来,只要做的开心就行。

跟我学scratch编程:飞机大战(一)

  这是CC哥做的飞机控制,是不是挺流畅的?这里面你看出了哪些细节没有?仔细看看?看看能想到几个技术点?

  1:CC哥的战机素材只有一个图片,那么怎么才能有点动画效果显得更生动呢?首先CC哥想到的是螺旋桨能不能转动?如果要转动如何才能转动呢?通过造型来调整,CC哥用Scratch自带的造型编辑功能,先将战机复制了几个造型,然后再把螺旋桨用橡皮擦进行调整,一个擦掉一半,一个全擦掉,然后把造型循环切换,就有了螺旋桨转动的效果。

跟我学scratch编程:飞机大战(一)

  第二个CC哥注意到的是飞机的造型是有点侧的,明显是向左侧倾,有点向向左飞行的感觉,那么CC哥把飞机的造型方向设定成左右翻转的,那么当向右飞的时候调整飞机的方向,就会形成右侧倾斜的效果,形成向右飞行的感觉。

 

  是不是把这两点一加就不一样了?

  2:第二个技术点可能初学者不容易看出来,有没有发现飞机在左右,上下切换方向时都非常流畅,而没有停顿?很多初学者做的用上下左右控制键控制角色移动的时候,在开始时都会出现一顿的感觉,然后才能顺利移动。这个CC哥在之前按键的技巧一节专门讲过,现在在这里就用到了。

  3:第三个技术点比较容易被忽略,就是飞机始终在边界只能移动,不论你再怎么操控,战机的机身始终全部在屏幕内部,而没有超出屏幕。

跟我学scratch编程:飞机大战(一)

  看到没,这两个技术点的程序。一个是用侦测命令来检测是否按下了上下左右键,一个是加上了碰到边缘就反弹的命令。

跟我学scratch编程:飞机大战(一)

  而这个是大家经常会用的方法,而这个方法就会有CC哥说的在开始时停顿的情况。细节大家可以去看一下《按键的技巧》那个帖子。

  4:战机出动的效果,这个效果是战机游戏里经典的出场,CC哥也照搬一下

跟我学scratch编程:飞机大战(一)

跟我学scratch编程:飞机大战(一)

  在做运动程序的时候,作为初学者,总是被教一定要在运动的循环过程中加上等待命令,因为程序执行的太快导致运动过程看不到。但实际上当你熟练之后,编程的时候反而不愿意加等待命令,因为一旦放等待命令,往往会让角色运动过程很卡顿,运动效果不流畅,最好的方式是尽量每一步移动的少些,把循环次数放多,这样运动效果更流畅。

  加入导弹

跟我学scratch编程:飞机大战(一)

  这部分很容易,也有不同的做法,你可以做成无需按空格键就一直发射子弹的,也可以是按着空格键就一直发射,也可以是每按一下空格键就发射一次。CC哥做的是每按一次空格键就发射一次,但是不同的是不是一次发射一发,而是一次发射4发子弹。这个看大家喜欢,怎么做都行。

跟我学scratch编程:飞机大战(一)

  这段代码是当按空格键时,子弹移动到战机的位置,克隆一个子弹。这里面一个重要的技巧就是因为战机的位置随时会变化,所以每一次克隆的命令执行之前,都要保证子弹角色移动到战机的位置。

跟我学scratch编程:飞机大战(一)

  这段代码就是每个子弹被克隆出来后,往前飞去的代码,碰到舞台顶部后自动消失。

  总结一下今天这部分主要是讲了战机控制的部分,程序都不复杂,关键是细节。还有就是Scratch的基础技巧要熟练使用,所以CC哥建议,如果是初学者,一定要认真的把CC哥之前的一些基础讲座,都认真的学一遍,并熟练掌握,这样,在你以后的创作过程中才会活学活用。

  下一讲,CC哥会着重讲敌机的部分,会从敌机的抗打击度,运动轨迹变化等方面进行程序讲解。 

  文章来源:跟我学scratch编程

本文链接:https://www.ascratch.com/news/17700.html

上一篇:推荐少儿编程在线课程 下一篇:返回列表