Scratch第六讲:打地鼠的游戏
首先介绍一个关键概念:变量
变量是什么,变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。 变量是程序中数据的临时存放场所。在代码中可以只使用一个变量,也可以使用多个变量,变量中可以存放单词、数值、日期以及属性。
算了,还是说人话吧:
比如有人问你:小妹妹,你今年多大啦?你会回答:8岁啦!然后过了一年再有人问你多大啦,你会回答:9岁啦!你看,你的年龄就是一个变量,随着时间是会增加的。
如果有人问你生日是哪天呀?你说:8月1日!过了几年还有人问你生日呢?你还是会说:8月1日。这就是常量,不会随着时间变化的。
程序分析:
打地鼠的游戏里都有什么角色呀? 有洞!有地鼠!有锤子!(角色)
那这些角色都在干什么呀?地鼠从洞里面冒出来!锤子去砸地鼠!(事件)
你怎么知道地鼠从哪里冒出来呀?我也不知道!随机的!(关键算法)
既然分析清楚啦,那就开工吧!
创建角色
首先,新建背景和角色,从背景库/角色库中分别选择森林和地鼠、锤子
1.角色:洞
绘制一个新角色:洞,其实就是一个自己画的椭圆,然后用黑色填充,没啥特殊的。
基本概念:图层
似乎“洞”与“地鼠”是可以相互覆盖,没错,这就是图层的概念,学过PS就很容易明白,图,是一层一层叠加的。在scratch里面,只要鼠标左键点击并拖动,该角色就会自动跑到最上层。这里,地鼠当然在最上面,所以对于地鼠,在程序一开始咱们就来一个“移至最上层”。
2.角色:地鼠
为了效果,咱们新建一个地鼠被打之后的造型
于是,初始化程序就应该是这样
下面介绍一个特效“虚像”
“虚像”特效真是个好东西,有了它,我们就可以做出下面这个效果
具体程序如下
首先讲“虚像”特效设置为100,也就是看不见了,程序“2“是让地鼠边往上跑,边显示出来。那为啥还会出现程序“1“呢?这是因为我希望地鼠在最开始那一段不显示,等跑一段才慢慢的边显示边上升
大家可以自己试试看:如果没有程序“1“会是怎样?或者把程序“2“的Y坐标增加数字调大会是怎样的效果?
需要注意的是:洞与地鼠的位置要合适,这里大家可以自己调整。接下来,看看5只地鼠怎样随机出现呢?
一想到随机,我们当然想到了“随机数“
我们先设置一个变量“哪只地鼠”,然后在舞台里编程,每隔1秒钟,对“哪只地鼠”产生一个1-5的随机数。然后我们就可以根据这个变量的随机数值去让哪只地鼠出来咯!在复制其他地鼠的时候记得改坐标
这里需要介绍一个广播的东西,广播是一个将不同角色联系在一起的工具
比如上面这个程序是在“舞台”里做的,但是我们可以让地鼠接受到广播
你看,广播哪一只就是哪一只出来,而最后这个等待只是为了调整游戏节奏
3.角色:锤子
咱们首先需要做的就是让锤子跟随鼠标走,这个其实很简单
你要得分,当然需要设置“得分变量”,同时,需要在最开始将得分设置为“0”
接下来就是锤子“打”,你仔细观察就会发现,“打”这个动作是X坐标不变、Y坐标往下(变小),程序如图所示
这里对坐标的控制还是比较有技巧,至于Y坐标减多少,大家可以自己调试
这个时候,“打”的表面功夫算是完成了。那实际上,咱们需要打到地鼠上,让地鼠“四分五裂”,还要得分。这里需要提醒一下的是,必须是“打”这个动作发出后,如果碰到了,才会得分。程序如图所示
很显然,只要碰到5只地鼠的任意一只,都得加分,所以是“或”的关系。计算机逻辑运算的基础运算“或,且,非”我就不多说了
至于为啥得分以后要等待0.2秒呢?这是为了避免打一下得很多分的囧境。
得分还不行,还得让地鼠“烂”
我们又要用到“广播”,这里我们新建一个广播“地鼠烂”
然后,在地鼠的脚本里加上如上图所示的程序就可以了
有人说,不对啊,你这一加,意味着只要一只地鼠被打了,所有地鼠都会变“烂”
你要知道,只有随机数对应的地鼠会显示出来,其他的都是隐藏了,所以烂又怎样,反正看不见
最后,你加点音乐,以及地鼠被打之后发出点惨叫,就完成啦!
下面是这个案例的重要角色的源代码
舞台
地鼠
锤子
好了,这还是挺好玩的游戏,又简单。通过做这个游戏还能学到很多关键的概念。除了概念,还有一些提升游戏效果的一些细节处理,其实游戏做的好坏,细节很重要,小朋友可以多花一些时间,用你所学到的各种技巧来提升游戏效果,让游戏显得更加逼真,好玩!
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com