乒乓球反弹特效
1.今天的环节是控制乒乓球(用篮球代替)在屏幕上的运动,并且使用一个绿色挡板作为乒乓球挡板,另外再用一个红色地板作为判断球碰到地面后程序结束,画面如图所示:
2.所有资源已经准备完成,接下来废话少说,直接进入程序环节,我们选中篮球basketball,在篮球的程序区域加上启动整个游戏的功能,把点击绿旗拖入代码区,然后设置篮球稍微往上一点,我们让篮球移到(0,50)的坐标上,让它是随机方向运动,因此我们还需要设置它的面向,从运动模块里把“面向90方向”代码块拖入代码区,并且从运算模块中拖入“在1和10之间取随机值”,注意,把里面的数值1改成135,把10改成255如图:
3.该游戏的功能主要是PK看谁挡住球的次数多谁胜利,所以我们需要定义一个变量来记录挡球次数,我们命名为score,我们点开变量模块,然后看见最上方有一个新建变量,我点击那个,在弹框中输入score即可完成,现在我们看见左上方有一个数值为0的按钮,那就是我们需要记录分数的显示区,当然,我们不是只玩一次,所以我们在程序开始,边设置为0,我们点开变量模块,把“将我的变量设为0”代码块拖入代码区,然后在“我的变量”哪里点一下,从下来菜单中选中我们刚刚命名的score,接着把后面的数值改成0。如图:
4.在开始的时候,我们还需要处理其他两个元素的信息,例如蓝色挡板需要随着鼠标位置的水平(x)移动,我们便需要发一条广播给挡板,让他干活,点开事件模块,将“广播消息1”拖到代码区,并且点开“消息1”,选中“新消息”,输入“跟随鼠标X移动”,点击确定完成新建广播,如图:
5.刚刚我们发了一条广播,现在我们选中绿色挡板,什么都没有,别慌,代码只会加到当前选中的元素身上,接下来,我们点开事件模块,把“当收到跟随鼠标X移动”拖到代码区,
,然后点开运动模块,把“移动到(0,0)”拖到代码区,注意,未必是(0,0),不要管,接下来我们都要改掉,那么把坐标的x改成0,y改成-160,注意y是负数,那么如何设置跟随鼠标x移动的功能了,我们点开控制模块,把“重复执行”拖过来,然后在点开运动模块,把“将x坐标设置为0”拖到代码区,然后点开侦测模块点开,把“鼠标的x坐标”拖到刚才数值为0的0身上,覆盖掉0,这样就完成了挡板跟随鼠标x的功能。如图:
6.现在我们点开上方的小绿旗,看看效果,动动鼠标,是不是挡板跟随鼠标的X动起来了,然后我们选中角色区域的篮球,回到刚刚我们写篮球的代码区,我还没有设置地板line的坐标,因此我还需要在发一条广播,让地板坐标设置为(-1,-180),方法和发给挡板一样的,不在重复,跳过,我们直接看看地板收到“设置地板”后的代码,如图:
7.好了,准备工作,我们已经完成,接下来我们需要做的就是篮球运动,我们在角色区域选中篮球,点开控制模块,拖入“重复执行”,然后从运动模块中拖入“移动10步”和“碰到边缘就反弹”,如图:
8.再次点击绿旗看看,球动起来了,但是,我们发现挡板根本没有起作用,那是因为我们还没有添加挡住的功能,不过我们在加挡板功能之前,我们给球加点特效,我们的特效就是没运动一点就复制一个篮球,那么我们点开控制模块,把“克隆自己”拖入重复执行里面,此刻,我们运行的话,球的运动轨迹有很多个球,不美观,我们需要复制出来一个,就在短时间内消失掉,也省内存,所以,我们还要把控制里面的“作为克隆体启动时”拖入代码区,注意,不要拼在之前的代码中,要拖到另外一个空白区域(代码区内),作为另外一个事件来处理,接着我们接着拖入“重复执行10次”,接到克隆体启动的下面,在这个重复执行10次里面从外观模块中拖入“将颜色特效增加25”,并且把25改成10,把颜色点开,选择虚像,接着把控制模块里面的“删除克隆体”拖入,接到“重复执行10次”最下面,如图:
9.此时运行,篮球就有了一个简单的效果,那么我们开始给篮球添加一些判断,例如篮球碰到地板,和碰到挡板的功能,碰到地板,我们就停止掉所有代码,也就是游戏结束,所有的判断功能都在控制模块下面,所以,我们点开控制模块,拖入“如果……那么”,接到克隆自己的下面,然后点开侦测模块,拖入“碰到鼠标指针?”,接到如果……那么?里面的那个六边形里面,并且选择“鼠标指针”,选中line,意思就是如果碰到地板,line是地板的名称,然后拖入控制模块里面的“停止全部脚本”,放到如果……那么功能的里面,如图:
10.现在呢,只要篮球碰到红色地板上,就会停止全部程序,也就是游戏结束,接着我们就要控制遇到挡板后反弹回去的功能,和刚刚的功能一样,我们需要在做一个判断,还是如果那么,其他的不在详细介绍,不同的只是里面的六边形换成碰到paddle,也就是碰到挡板,在那么里面我们就要处理反弹和增加分数的功能了,我们现在分数,点开变量模块,拖入“将我的变量增加1”,并且点中“我的变量”,中选“score”,这样,就是把分数加1,然后点开声音模块,拖入“播放POP”,接到加分数下面,这样碰一次挡板,有一个音效,感觉舒服一些,然后还需要设置篮球反弹,其实反弹,就是把篮球运动方向改一下就好,点开运动模块,拖入“面向90方向”,然后点开运算,拖入“空白-空白”替换掉90,并且给这个运算写上数值,前面一个空白写上180,后面的空白处,我们从运动模块中的方向拖过来放进去就可以了,意思就是物理学的反射方向,如图:
11.接着,我们要让篮球随机旋转一下,产生一点真实感,从运动模块中拖入“右转15度”,然后点开运算,拖入“在1和10之间取随机数”,覆盖掉右转的那个15,并且修改前面的值位-10,如图: