友情提示:视频教程观看时请手动设置清晰度。
目标
理解坐标和角色的移动。通过键盘或鼠标控制小猫的移动,按左箭头就往左走,按右箭头往右走,按上箭头往上走,按下箭头往下走。
实现基本的移动功能以后,进一步增加对边框的限制,使得小猫不能超出边框。
适用对象:本练习适合一年级初学者使用。在老师指导下,学员基本能够独立完成。对坐标的判断,难度较大一些,需要理解坐标的大小比较。
上机操作题
(三个角色,对应三种方法。)
练习题1:用键盘控制角色的移动,实现:
按上箭头↑,角色往上移动;
按下箭头↓,角色往下移动;
按左箭头←,角色往左移动;
按右箭头→,角色往右移动。
习题2:练习1中,当用键盘将角色移动的舞台边缘时,角色将被遮挡一部分。要求实现:角色不被遮挡,即移动到接近边缘时,如果继续按键,则角色不再往舞台外移动。如此,角色只能在一定的范围内移动,不能超出边框。
按上箭头↑,角色往上移动;
按下箭头↓,角色往下移动;
按左箭头←,角色往左移动;
按右箭头→,角色往右移动;
控制小猫不能越界,X,Y轴需要增加什么限制?
习题3:练习1和练习2使用键盘作为输入,实现对角色的移动。本练习实现用鼠标移动角色,即角色跟随鼠标不停移动。
· 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘(2018.01)
· 少儿编程Scratch第三讲:宇宙大战.枪战游戏(2018.01)
· 少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)
· Scratch第一讲:Scratch完美的初体验(2018.01)
练习关键知识点
-
事件:当按下??键。检测某个安检是否按下,使用这个指令,可以实现角色跟随上下左右箭头的移动。
-
外观:将角色大小设置为??如果角色过大,可以减少角色的尺寸,通常在启动时设置角色的大小,50即为角色原大小的一半。
-
运动:X坐标增加??很常用的运动方式,X坐标增加则往右移动,增加为负数则往左移动。注意系统没有X坐标减小的指令,因此需要转换成增加负数的指令。
-
运动:Y坐标增加??同X坐标增加。
-
运动:移到???:移动到鼠标、某个角色上,例如发射子弹时,子弹从坦克、飞机等身上发射,则先将子弹移动到飞机上。移动到鼠标,则跟随鼠标移动。
-
运动:移到X:?? Y:??开始时,使用这个指令,可以将角色移动到零点或者某一个角落。
-
运动:X坐标(获取X坐标值)。在如果…那么…的判断中,可以判断X坐标是否在一定的范围内。例如X坐标<-220(左边),则X坐标不允许再次减小,即不能继续往左移动。例如X坐标>220(右边),则X坐标不允许再次增加,即不能继续往右移动。使用时,需要考虑使用大于还是小于的判断符。
-
运动:Y坐标(获取Y坐标值)
-
控制:如果…那么…
-
侦测:按键??是否按下。可以在重复执行中检测按键是否被按下。这种方式也可以实现角色跟随上下左右箭头的移动。
-
运算:??> ??
-
运算:??< ??
-
控制:重复执行
练习讲解要点
练习一:
方法一:使用按键按下的事件,如果收到上下左右的箭头按键,则X坐标或Y坐标增加10或-10.
如果不增加X或Y坐标的大小判断,角色将会移动舞台。
蝙蝠的运动:使用了当按下???键的事件,因此放4个事件。如果不判断出界,那就很简单了。点击开始时,增加造型切换的指令。为了控制蝙蝠翅膀拍打快慢,造型切换的循环中增加等待时间。
方法二:开始后直接进入循环,在循环中如果…那么…判断,判断条件中检测上下左右箭头被按下,如果按下,则X坐标或Y坐标增加10或-10。效果和方法一类似,但比方法二要复杂一些。
地球移动:大循环中,如果那么中判断是否有按键按下。
练习二:角色跟随上下左右箭头移动时,如果不增加X或Y坐标的大小判断,角色将会移动舞台。因此本练习是添加X坐标和Y坐标的大小判断。
如果X坐标小于220,那么X坐标增加10.即如果X坐标小于220,允许继续右移。否则,不允许右移。实现不超出右边框的功能。
如果X坐标大于-220,那么X坐标增加-10.即如果X坐标小于-220,允许继续左移。否则,不允许左移。实现不超出左边框的功能。
上下通过Y坐标大小控制,注意正负数和大小判断即可。
练习三:角色跟随鼠标移动。开始后进入循环,然后每个循环都移动到鼠标即可。
如果要增加判断,例如到某一个边界不允许继续移动,则增加练习一和练习二中的坐标判断。
球的移动:这个最简单。重复执行中一个指令:移动鼠标指针即可。为了更换球的造型(球的颜色会依次变换),循环中增加了时间等待。当然这会导致移动不够顺畅。所以可以新增一个启动事件,单独处理造型的变换。
填空选择题
-
舞台坐标有两个轴,分别是横向坐标( )轴和纵向坐标( )轴。
-
用X,Y两个坐标,能够唯一确定一个点。舞台坐标中心点,x=( ),y=( )。
-
Y坐标最大为舞台最上方,坐标值为( )。
-
Y坐标最小为舞台最下方,坐标值为( )。
-
X坐标最大为舞台最右方,坐标值为( )。
-
X坐标最小为舞台最左方,坐标值为( )。
如果角色往右水平移动,下面哪个正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往左水平移动,下面哪个正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往上垂直移动,下面哪个正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往下垂直移动,下面哪个正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往右上方斜向移动,下面哪两个答案是正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往右下方斜向移动,下面哪两个答案是正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往左上方斜向移动,下面哪两个答案是正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
如果角色往左下方斜向移动,下面哪两个答案是正确?( )
A.X增加 B. X减少 C. Y增加 D. Y减少
当X=0时,X坐标增加10步,x=10;X坐标再增加10步,x=( );即每执行一次增加10步。每次增加步数越多,说明( )
A.跑得越快 B. 跑得越慢
小猫往左移动(←),X增加值为( )
A.正数 B. 负数
小猫往右移动(→),X增加值为( )
B.正数 B. 负数
小猫往上移动(↑),Y增加值为( )
C.正数 B. 负数
小猫往下移动(↓),Y增加值为( )
D.正数 B. 负数
后续练习
依然是角色的移动,但需要实现角色的自动移动。例如角色从中央开始,然后自动往右移动,到右边框时,自动折返,然后碰到左边框时,自动往右,如此往复。
如果更复杂一些,可以实现角色在屏幕中按照长方形的方式移动。如开始时,角色位于右下角,然后自动往上、往左、往下、往右回到起点。
少儿编程-Scratch
· 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘(2018.01)
· 少儿编程Scratch第三讲:宇宙大战.枪战游戏(2018.01)
· 少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)
· Scratch第一讲:Scratch完美的初体验(2018.01)
转自公众号:
艾博特