运动和键盘事件

无需太多花哨的解释,我们今天是直接上代码:
1.从角色列表中选出两个球以及背景图;
首先在界面右下角找到角色选择按钮和背景选择按钮如图:
运动和键盘事件
然后分别选出basketball 和 baseball两个球,背景的话,我们随便选择一张,本案例我们就选择Stars这张背景:
运动和键盘事件
2.我开始给basketball 球加上代码,在scratch编程中,所有的程序开始,都是从按绿旗开始,所以,我们先把事件积木列表中把点击绿旗按钮拖到代码区,作为代码启动程序,接下来就是让basketball 放在舞台中心点,使用的代码块就是运动木块下的“移动到x:0 y:0”,如图:
运动和键盘事件
basketball 是需要不断运动的,故此,我们要让basketball 移动4步,这个功能需要从运动模块中把“移动积木”拖到代码区里面来,如图:
运动和键盘事件
发现basketball 只移动了一点点,就不动了,然而,我们需要的效果是一直运动,所以,我们需要修改一下逻辑,让这个移动4步一直执行,那么我们从控制模块中把重复执行也拖到代码快上来,如图:
运动和键盘事件
就可以很好的理解为,这个移动4步的功能会一直被执行,大家可以再次运动一下程序(点击绿旗),效果是不是basketball先跳到中心点,然后 一直往右边运动,这样整体的运动功能算是结束。
3.代码虽然已经让basketball运动了,但是我们需要的功能是,当我们按下键盘上上下左右键的时候,basketball要根据我们的按键方向一直运动,那么我们接下来就是给basketball添加几个事件,从事件模块中把“当按下XX键”拖到代码区上来,并且从这个积木的选择框中选中“->”,这里请注意,并不是需要和之前我们写的代码拼接在一起,而是另外放在其他的地方,这是因为,事件之间是相互独立运行(无需太多关注),如图:
运动和键盘事件
接着,我们需要添加当按下右键的时候,我们要做什么逻辑,我们把运动模块里面的“面向XX方向”拖到代码区,并且接在“当按下右键”的下面,如图:
运动和键盘事件
这个代码的意思就是说,当我们按下右键的时候,我们把basketball的方向变成90度。剩下的上键,下键,左键添加方式一样,不过值得注意的是,左键的时候是面向负90(-90),上键为面向0方向,下键为面向180方向,如图:
运动和键盘事件
此刻,我们在世点击绿旗,然后在basketball运动的过程中,按下这些上下左右键试试看效果,当然我们完全可以控制一个球在舞台上运动的方向了。
我们接下来再加一个basketball碰到baseball球的时候,baseball需要被碰到舞台上的随机位置,我们需要在重复执行里面添加一个监控按钮,从控制模块中把判断功能积木拖过来,并且在侦测中把“碰到XX”的积木也拖过来,设置如果碰到baseball,如图:
运动和键盘事件
在判断功能里面添加一个通知baseball移动到随机位置,即从事件模块中把广播功能拖到代码区,如图:
运动和键盘事件
然后在广播新消息下拉按钮中选中新消息,并命名为:“baseball随机位置”,并播放一个声音,在声音模块中把“播放声音POP”积木拖到广播下面,如图:
运动和键盘事件
现在,也许大家还不知道,那个广播是干什么用的,其实广播,就是和打电话差不多的功能,也和学校播放的广播功能一样,主要是通知谁谁要去做什么事情。
5.之前我们所说的广播“baseball随机位置”这条消息出去,那么我们现在就是设置另外一个球来接受这条广播,并且要作出相应的动作,此刻,我们鼠标点击选中第二个球(也就是baseball球),如图:
运动和键盘事件
现在之前写的代码突然没有了,代码区一片空白,不要惊慌,刚刚我们写的代码,仅仅只是写在第一个球(basketball)身上,现在是第二个球,当然看不到;从事件模块中把“当接收到baseball随机位置”这个积木拖到代码区里面,然后再从运动模块里面把“移动到随机位置”拖到代码区,如图:运动和键盘事件
OK了,现在点击绿旗,再看看效果,是不是相当奇特,今天写到此处,待续……