抛物线发射炮弹
这篇文章会介绍在 Scratch 里绘制大炮和炮弹,搭配重复直到、面朝鼠标、侦测鼠标按下、变数改变、座标改变...等积木,实作发射炮弹的效果,并模拟发射炮弹的抛物线轨迹。
角色设定
在角色编辑区,删除猫咪角色,使用绘画,绘制大炮和炮弹的角色 ( 参考:造型与绘图 )。
“大炮”角色由一个长方形和一个圆形组成,需要注意的是“圆形的圆心要对齐画布的中心点”( 中心点是个灰色瞄准准心 ),如此一来旋转大炮的时候,才会是以圆形的中心点转动。
“炮弹”角色是一个红色圆形,圆形的位置需要“放在大炮的炮口,不能放在画布的中心”,如果放在画布的中心,执行后会发生炮弹和炮管位置不同的状况 ( 炮弹从不是炮管的地方发射 )。
下图表现了大炮和炮弹的相对位置:
积木程序原理
先编辑“大炮”角色的程序:
- 点击绿旗时,将大炮定位到左下方 ( -200,-140 ),并移到最上层。
- 使用重复无限次积木,让大炮面朝鼠标的方向 ( 鼠标移到哪,大炮就转到哪 )。
接着编辑“炮弹”角色的程序:
- 当绿旗被点击时,将炮弹隐藏,定位到和大炮一样的位置 ( -200,-140 )。
- 设定“重力加速度”变数为 -2。
- 使用重复无限次积木,让炮弹面朝鼠标的方向 ( 鼠标移到哪,炮弹就转到哪 )。
- 点击鼠标时,每隔 0.01 秒产生一个炮弹的分身。
最后编辑“发射炮弹”的程序:
- 当分身产生后,设定 x 与 y 变数,变数数值为与鼠标之间的距离,距离越大,发射速度越快。
- 使用“重复直到”积木,判断炮弹 y 座标落地后,就删除分身。
- 每次重复改变 y 变数数值,改变的幅度为“重力加速度”的数值。
完成效果
完成后,点击绿旗,在舞台上按压鼠标键,就会看见炮弹以抛物线的方式发射。
范例解答
范例解答:抛物线发射炮弹
延伸练习
如果已经熟悉了抛物线发射炮弹的原理,还可以尝试更多好玩的作法:
- 加入发射炮弹的音效。
- 使用抛物线发射炮弹的原理,发想相关的游戏应用。
微信扫码关注
抖音扫码关注