admin 管理员组

文章数量: 887021


2024年1月18日发(作者:数据库的建立实验报告)

第四十课 跑酷闯关

今日任务:

今天,我们将利用scratch设计一款类似于跑酷的小游戏,让玩家控制一个人物左右移动+跳跃争取在最短的时间内通关,本节课的程序实现方法比较巧妙,我会在学案及微课中进行详细的讲解,我们开始吧!

过关的触发点

玩家控制的角色,可以左右移动,跳跃

本课重难点:

(1)掌握速度变量的使用技巧;(2)掌握如何将一个角色的各种运动状态拆分成几个模块来处理;(3)学会调试编程中遇到的BUG。

任务解读Flow chart:

开始玩家控制的主角在屏幕固定位置出现

主角接收玩家的键盘控制

N

按下向左键 按下向右键 按下向上键

N

Y

X速度为负数

Y

X速度为正数

Y

是否在黑线处起跳?

N

Y

Y速度为正数

是否跳到最高处?

Y

开始下落,Y速度为负数

跟我来挑战Follow me:

既然我们要做一个完整的作品,那么完整的步骤缺一不可,今天我们再来一次完整的操作步骤展示!

第一步:启动scratch软件;

第二步:点击上方的“文件”→“保存”→保存到桌面,文件名:跑酷闯关→点击“保存”;

(第二步很很很重要,我希望所有的学生都能养成及时保存作品的好习惯!)

第三步:角色设计(本程序中就需要1个角色,一个是随时接收键盘指令的主角)

第四步:场景设计

场景一

场景二

场景三(胜利场景)

第五步:脚本解读

初始化主角一开场出现的位置

变量X,即水平方向的移动速度,正数就是右移速度,负数就是左移速度

变量Y,即垂直方向的移动速度,正数就是上移速度,负数就是下移速度按下左键,主角准备向左移动

不是直接移动,而是给了一个X初速度,向左

按下右键,主角准备向右移动

不是直接移动,而是给了一个X初速度,向右

按下上键,主角准备向上跳跃

这不是跳跃,先将主角下移1个步长

再看主角现在是不是正踩在黑线上?只有踩在黑线上才能起跳!

不是直接移动,而是给了一个Y向上的初速度

Y刚才向下移动了1个步长,现在恢复回去

既然起跳了,那么到了最高点就要开始下落了

但是,下落过程中还要思考,落到(踩到)黑线就停止

但是,下落过程中还要思考,落到(踩到)黑线就停止

如果还在下落,没有踩到黑线,那么Y速度-1,继续向下落,越来越快的下落,有点儿自由落体的意思!

按下左右键后,主角会缓慢停止,速度x0.8就是速度越来越小的意思,缓缓停止!考虑到了地板的摩擦力,游戏效果更加真实了!

(接上程序▲)

主角移动过程中,碰到黑色?碰到了黑线(两边的黑线)

让Y的速度变为负方向的速度,也就是向相反方向移动

如果向相反方向移动还碰到黑线,那么就是碰到了两边的黑线了

X速度变为负方向速度,也就是反弹

速度清零,碰到左右边界黑线停止水平方向的移动

水平方向的运动被取消了,但是Y方向的运动还要继续

同X速度的赋值方式,也是一个运动减缓的过程,因为迟早要运动到最高点再下落啊!

起跳时遇到黑色,那肯定就是水平方向的黑线了,也就是起跳“磕到头”了,那么咋办?

既然磕到头了,那么向相反方向移动呗也就是下落呗!

碰到没关的出发点,继续下一关,一直到通关为止!

课后思考:

课后请同学们思考以下问题:

(1)尝试丰富一下游戏的界面。(2)为游戏增加一些游戏难度,比如怪物,机关等?(3)还没有添加计时器,请同学们自行添加一下吧!(4)将你设计出来的程序和大家分享一下!


本文标签: 速度 移动 方向 主角 游戏