通过编程实现:按下←键,大象向左走;按下→键,大象向右走;按下↓键,苹果从树上落下来;按下↑键,苹果回到树上。
按任务要求选择合适的背景和角色,并修改角色大小,使其与背景更好地融合。本任务需要选择两个角色:大象和苹果。在背景库中选择Forest背景图片,在角色库中选择“大象”和“苹果”,完成后参考图16-1。
图16-1 大象和苹果的舞台设置
与之前的任务不同,本任务不使用循环结构,直接使用键盘的方向键作为触发事件,执行接下来的程序。因此,使用之前学习过的事件类指令“当按下空格键”就可以实现。
在之前的学习中,让角色移动,无论是“恐龙行走”“鹦鹉飞行”,还是“鲨鱼游动”,都是通过“移动”积木实现的。本次任务将使用“将 x 坐标增加”指令,实现角色在水平方向上的移动。
(1) x 坐标增加。指令位置和外观如图16-2所示,指令中椭圆形中的参数可以修改。数值为正数时, x 坐标值变大,角色向x轴正方向(向右)移动;数值为负数时, x 坐标值减小,角色向x轴反方向(向左)移动。
图16-2 x 坐标增加指令
(2)“大象”向右走。按下→键,大象面向90°方向,向右行走并变换造型。在角色列表区单击大象图标,编写控制程序。大象角色本身已有两个造型,不需要修改造型。用“将 x 坐标增加”指令替换“移动”指令,第一块积木使用“当按下**键”。程序参考图16-3。按照同样的方法,编写“大象”向左行走的程序,如图16-4所示。
图16-3 向右走
图16-4 向左走
(3)测试程序。程序编写完成,按下→键,可以看到大象向右走,按下←键,可以看到大象向左走。
调试过程中可能会出现大象头朝下行走的情况,为了避免这种情况,可以再编写一段初始化程序,将旋转方式设定为“左右翻转”,如图16-5所示。
图16-5 “大象”的初始化
大象正在树下行走,一个苹果从树上掉下来,快要落到大象身上,却又神奇地回到树上了。真实生活中当然不会发生苹果回到树上的情况,在程序中可以实现这个神奇的现象。
按下↑键,苹果回到树上;按下↓键,苹果掉下来。
(1) y 坐标增加。
可以将 x 坐标增加,就一定可以将 y 坐标增加,如图16-6所示。白色椭圆形内是可修改的参数,正数表示坐标值增加,角色向着y轴正方向(向上)运动;负数表示坐标值减少,角色向着y轴反方向(向下)运动。
图16-6 y 坐标增加指令
(2)为苹果添加造型。
生活中,苹果从树上掉落,并不是像铁球那样直接落地,而是在空中有旋转的动作。运行程序时,为了让苹果掉落过程更形象、生动,需要有造型变换。
进入苹果角色造型编辑界面,可以看到,苹果只有一个造型。因此,需要为苹果增加造型。在项目6中学习了进入造型库选择新造型为角色增加造型的方法。需要为苹果增加造型,仍然使用苹果图片,只是增加旋转后的造型,这时候可以复制造型,然后修改角度。
在苹果角色造型编辑界面,复制苹果造型,如图16-7所示。完成后就得到了一个名为“苹果2”的新造型。它与之前的造型一模一样。
图16-7 复制造型
随后,修改“苹果2”造型。使用选择功能图标,选中整个苹果,拖曳选择框下方的旋转箭头就可以将苹果图片旋转任意角度,如图16-8所示。在编辑区单击空白处,完成编辑。在造型列表中可以看到“苹果2”造型已经编辑完成了。
图16-8 编辑“苹果2”造型
按照同样的方法,再次复制造型,并进行旋转修改,得到“苹果3”造型,如图16-9所示。这样,原本只有一个造型的苹果角色,就有了3个旋转角度不同的造型。
图16-9 编辑“苹果3”造型
(3)苹果控制代码。单击“模块”按钮,返回代码编辑界面编写代码。苹果角色有上、下两个动作,苹果落下来时,移动方向向下,也就是y轴的反方向,因此 y 坐标增加值是负数。苹果返回树上,移动方向向上,也就是y轴的正方向,因此 y 坐标增加值是正数。
参照“大象”的控制,修改参数,完成“苹果”的控制代码,程序参考图16-10。
图16-10 “苹果”的代码
(4)测试程序。程序编写完成,按下↓键,可以看到苹果翻滚着落下来,按下↑键,可以看到苹果又翻滚着回到树上。
完成大象和苹果程序的编写和测试,一起玩一玩、练一练。
(1)玩游戏。操作键盘上的方向按键,让大象用它长长的鼻子刚好接住落下来的苹果。
(2)编程挑战。项目中,大象左右移动,苹果上下移动。试一试编写代码,让苹果上、下、左、右都可以移动。注意:这与大象的左、右移动不同,动作不可同时发生。