目标
理解坐标和角色的移动。通过键盘或鼠标控制小猫的移动,按左箭头就往左走,按右箭头往右走,按上箭头往上走,按下箭头往下走。
实现基本的移动功能以后,进一步增加对边框的限制,使得小猫不能超出边框。
适用对象:本练习适合一年级初学者使用。在老师指导下,学员基本能够独立完成。对坐标的判断,难度较大一些,需要理解坐标的大小比较。
上机操作题
(三个角色,对应三种方法。)
练习题1:用键盘控制角色的移动,实现:
按上箭头,角色往上移动;
按下箭头,角色往下移动;
按左箭头,角色往左移动;
按右箭头,角色往右移动。
习题2:练习1中,当用键盘将角色移动的舞台边缘时,角色将被遮挡一部分。要求实现:角色不被遮挡,即移动到接近边缘时,如果继续按键,则角色不再往舞台外移动。如此,角色只能在一定的范围内移动,不能超出边框。
按上箭头,角色往上移动;
按下箭头,角色往下移动;
按左箭头,角色往左移动;
按右箭头,角色往右移动;
控制小猫不能越界,X,Y轴需要增加什么限制?
习题3:练习1和练习2使用键盘作为输入,实现对角色的移动。本练习实现用鼠标移动角色,即角色跟随鼠标不停移动。
少儿编程-Scratch
·少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘(2018.01)
练习关键知识点
事件:开始。可以设置一个或多个开始事件。
事件:当按下??键。检测某个安检是否按下,使用这个指令,可以实现角色跟随上下左右箭头的移动。
外观:将角色大小设置为??如果角色过大,可以减少角色的尺寸,通常在启动时设置角色的大小,50即为角色原大小的一半。
运动:X坐标增加??很常用的运动方式,X坐标增加则往右移动,增加为负数则往左移动。注意系统没有X坐标减小的指令,因此需要转换成增加负数的指令。
运动:Y坐标增加??同X坐标增加。
运动:移到???:移动到鼠标、某个角色上,例如发射子弹时,子弹从坦克、飞机等身上发射,则先将子弹移动到飞机上。移动到鼠标,则跟随鼠标移动。
运动:移到X:?? Y:??开始时,使用这个指令,可以将角色移动到零点或者某一个角落。
运动:X坐标(获取X坐标值)。在如果…那么…的判断中,可以判断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)
《SAP CRM管理与实施指南》
2018.01.28
领取专属 10元无门槛券
私享最新 技术干货