当前位置:首页 > 编程实例 > Scratch案例:怎样制作保卫萝卜小游戏(一)

Scratch案例:怎样制作保卫萝卜小游戏(一)

Scratch 3.0官方版本

万众期待中!Scratch 3.0的官方版本终于发布出来了!

Scratch 3.0是Scratch宣布的Scratch 2.0版本。这是Scratch的完整重新设计和重新实现。

公共alpha版本于2018年1月在https://preview.scratch.mit.edu发布。[1] Scratch 3.0在线版的最终发布日期定在2018年8月发布。[2] Scratch 3.0的离线版本将在稍后推出。 Scratch的下一个版本没有正式确定名称,但是根据Scratch Team成员Andrew Sliwinski(这个和那个),它很可能会被称为“Scratch 3.0”,跟随潮流。

Scratch 3.0将用HTML5编写,HTML5是最新的HTML,CSS和Javascript基于Web的标记和编程语言的总称。 Scratch 3.0主要使用WebGL,Web Workers和Web Audio Javascript库。[4] Javascript是所有Web浏览器中广泛支持的语言,WebGL因其速度和执行“触摸颜色”等操作的能力而被选中。与Adobe Flash不同,Javascript无需任何浏览器扩展即可运行。

360截图16720327117138131.png

Scratch3.0与之前版本的不同

  1. 采用Html5的页面技术,支持横式和直式的图形式程序撰写,未来可以在iOS&Android手机平板机及桌上电脑跨平台的使用。

  2. 声音引擎(Audio Engine)会重新设计,程序画面的速度因为WebGL的加速,达到40 fps,比Scratch 2.0的30fps快了一些,支持16:9画面,未来课程中做出的小游戏应该会更好玩和更加流畅。

  3. 一个非常大上的差异:每一个方块都比文字大很多,好处是让手指头好触碰,可是程序指令写多一些时,就会让画面放不下所有的程序,需要卷动(scroll)程序区,然而卷动却是在教学现场学生时做的非常不好的事。

  4. 增加类似于AppInventor的模块折叠功能,还有垃圾桶功能。

imgpic1.png

游戏开发说明

保卫萝卜这个游戏相信大家都有玩过了,小编在此也浪费了很多的年轻时光,为了打到榜首,屡败屡战,所以今天自己反过来用scratch做一个保卫萝卜的游戏。

当然我们的目标不是为去培养编程高手,所以我们的学习方法是从简单到复杂,随着自己的想象力去开发游戏,学习scratch,通过边做边学,培养大家的创造力和想象力,以及解决问题的能力和专注力。


大家看一下这个演示程序,可以看出,这个第一步的程序主要做了以下部分:

1:自动画了一份地图。

2:妖怪是沿着地图走的。

所以今天的描述的内容也是以这两点作为切入点的。

1.素材下载

首先我们从网上下载相应的素材,再通过scratch的自带工具加上windows的画笔工具进行加工,得到相应的素材,稍微加工一下,大家看起来还不错。

pic2.png

img

2.代码部分

以下的部分是如何自动画地图,

第一部分是关于如何自动画地图,地图就是由各种砖块组成的。

砖块角色的代码如下图所示:

img640_2.jpg

我们来分析一下以上的代码内容,这些代码主要包括两部分技术内容:

  1. 我们首先定义了一个自制积木(函数)来画上下左右的四个方向的新的积木,我们也可以称之为画地图了,每个积木都自带有一个变量,就是说在它的周围到底要画几个积木块。

  2. 现在这个scratch版本的新功能,让制作新积木的工具比原来好用了很多,新变量直接摆列在积木下面,直接通过鼠标进行选择即可。

imgpic3.png

3.使用用图章来画地图。这个块直接参考过往的文章即可。


第二部分:scratch如何让妖怪这个角色能够沿着地图进行走动。


大家看到下图是妖怪部分的scratch程序

imgpic4.png

请同学们要注意的是,妖怪他们是沿着地图的路径进行走动的,因此在设计妖怪的路径时候,我们完全可以重用地图的路径,连作法都一模一样,完全不需要改变(⊙o⊙)…。


请同学们看清楚了,一模一样的路径,与此同时也是使用了自定义积木,甚至名字跟上面地图的自定义积木一样(自定义积木是对应角色的,所以可以重名)

img

img

大家注意这个是积木套积木,也就是上下左右每个积木除了变换方向不同,移动几步的程序都是一样的,所以可以另外做一个移动几步的积木供上下左右四个积木来调用,这样可以简化代码。同时增加程序的可读性。


第三部分的代码:移动积木

pic7.pngimg

为了让妖怪走起路来比较流畅,所以移动积木的时候有一个小小的技巧,就是每次移动一点点的时候就先等等一点时间,这样观看起来就很流畅了,不是一跳一跳的往前走了。


小编在开发程序的时候遇到了一些小麻烦,因为小编在选择素材的时候,采用的不是正方形的地砖,所以大家在做这个scratch案例的时候,对所画的地图除了保证美观好看,纵横间隔要不一样,所以在这里做了个判断,如果是横向走的时候,就往前走40,纵向就走30步,这样,妖怪的移动路径就和地图完全吻合了。


在这个scratch案例里面妖怪都是一个队伍对外出来的,这里肯定是要用到克隆功能,出几个妖怪就克隆几次就好了,这部分大家重新复习一下过往的代码即可。

imgpic8.png


另外要注意的是萝卜这个角色,萝卜被妖怪吃一口就少了一部分,这个是小编对这个角色复杂了10个不同的造型,然后,通过画笔工具把每个造型都去掉一部分,最终得到了10个造型,看起来像被萝卜吃完一样,那么每个要过吃一口,萝卜就自动切换到下个一个造型,这个就是scatch案例的精华所在。


在程序中小编给萝卜设置了一个生命变量,每次遇到妖怪,变量就自动增加1,然后就直接把变量作为造型的编号,这时候程序就自动切换造型了。

pic9.png

pic10.png

今天的课堂就到这来结束了,下来我们会继续在案例里面增加炮塔,炮塔会发射出子弹去消灭哪些妖怪,同学们可以自己先考虑一下几个问题,在scratch里面有哪些程序代码可以实现一下两个要点?

1:每个炮塔都有自己的发射范围,只有妖怪进入覆盖范围,炮塔才发射。

2:还有子弹要怎么做,比如如何发射,有哪些效果呢?

3:然后再考虑一下有什么特效可以让游戏变得更逼真些。


原创: CC哥 微信公众号  跟我学scratch编程


除特别注明外,本站所有文章均为趣味编程网-少儿编程_儿童编程学习班教育指定趣味学习网站!原创,转载请注明出处来自http://airboxs.com/post/13.html