1)  点击绿旗,角色、背景如图所示;

Scratch游戏制作-推箱子【图文教程】

2) 按下一次键盘上的方向键,如果男孩面向方向与按下方向键的方向一致,则男孩向此方向前进一个格子的距离(男孩碰到墙壁就不能再继续移动;

Scratch游戏制作-推箱子【图文教程】

3) 按下一次键盘上的方向键,如果男孩面向方向与按下方向键的方向不一致,则男孩需转向所按下方向键的方向;

Scratch游戏制作-推箱子【图文教程】

4) 男孩碰到箱子后,男孩推动箱子同向移动,当箱子碰到墙壁或其他箱子时不能再继续移动;

5) 当三只箱子分别被男孩推到三个黑色方框上,程序结束。

解析:

本题难度中等,考查的知识点包括克隆编程、运动编程、事件广播机制、变量等。难点是如何实现男孩推着箱子前进,并检测前方碰到障碍物时停止前进。

包含3个角色,分别是箱子、方框和男孩(素材下载:推箱子游戏素材.zip

对游戏进行功能拆分,可以简单分为以下几个模块:

  • 箱子初始布局
  • 控制男孩移动
  • 推动箱子前进
  • 判断游戏成功

第一个模块:初始化地图,主要是指3个箱子和3个黑色方框的显示,黑色方框表示箱子的目标位置。我们可以使用克隆来生成箱子和黑色方框,注意调整好位置。

第二个模块:控制男孩移动,玩家是通过方向键来控制男孩上下左右移动的,注意点:

1). 碰到墙壁时,不能向前移动,如果碰到,退回来即可。

2). 推动箱子前进时,如果碰到前面有墙壁和箱子,不能向前移动,如果碰到,退回来即可。

第三个模块:判断当箱子碰到男孩时,箱子要前进了,前方如果有箱子或墙壁,就不能前进。

第四个模块:当3个箱子分别推到3个黑色方框内,游戏结束,我们可以使用一个变量来记录已经放好的箱子数量。但是需要注意一点,就是箱子推到黑色方块位置后,还可以推出来,此时要同步更新变量的值。

实现步骤:

第一步:添加背景和角色,调整好大小(素材下载:推箱子游戏素材.zip,需要解压)

Scratch游戏制作-推箱子【图文教程】

第二步:选中箱子角色,按照题目所示,调整好箱子的位置,在3个不同的位置分别克隆即可,代码如下:

Scratch游戏制作-推箱子【图文教程】

第三步:切换到黑色方框,和箱子一样,调整好位置,克隆3个方框,编写代码如下:

Scratch游戏制作-推箱子【图文教程】

第四步:切换到男孩角色,设置初始位置和方向

Scratch游戏制作-推箱子【图文教程】

第五步:控制男孩移动,使用四个代码块分别处理四个方向的移动

Scratch游戏制作-推箱子【图文教程】Scratch游戏制作-推箱子【图文教程】

第六步:移动箱子,当克隆体判断碰到男孩,那么就向相同的方向移动,如果碰到墙壁或箱子,则需要退回来(相当于无法前进),同时也要使用广播,通知男孩后退。

Scratch游戏制作-推箱子【图文教程】

当箱子后退时,男孩也要后退一格,所以这里发送了一个“后退”的广播消息。

相应的,男孩角色在接收到广播消息后,需要后退50步,切换到男孩角色,增加如下代码

Scratch游戏制作-推箱子【图文教程】

第七步:统计成功数量

先创建一个变量“成功数量”,用于表示已经到达目标位置的箱子。初始值为0

Scratch游戏制作-推箱子【图文教程】

当黑色方框碰到箱子了,将数量加1,同时还需要检测,方框是否离开箱子了,一旦离开,就需要将数量减1。

切换到黑色方框角色,编写代码如下:

Scratch游戏制作-推箱子【图文教程】

测试运行,如果还没移动箱子就发现成功数量不是0,说明已经存在黑框碰到箱子的情况了。

Scratch游戏制作-推箱子【图文教程】

此时我们就在造型里把黑框和箱子都缩小一点,让他们在开始的时候边缘不要有接触。

Scratch游戏制作-推箱子【图文教程】

第八步:判断成功

切换到男孩的程序,如果成功数量等于3,则游戏结束,停止其它脚本,这样就无法移动角色了,游戏停止。

Scratch游戏制作-推箱子【图文教程】

如果成功后要彻底停止克隆体的程序,那就在黑框和箱子的代码里都加上如下代码

Scratch游戏制作-推箱子【图文教程】

源码下载:Scratch游戏推箱子

本站内容未经许可,禁止任何网站及个人进行转载。