Scratch编程教程-射击投射物

射击投射物
本教程将解释如何创建射击、发射或投掷物体的效果。本文的前几个脚本不模拟速度或抛物线运动,但是对于在初始力之后没有受到任何传统力(重力、风力等)作用的投射物,可以使用这些脚本,尽管它可能会被墙壁或目标挡住。
当按下空格键或单击鼠标时,投射物就会发射,但触发器可以是任何布尔块。
两个角色精灵,无克隆
这些脚本需要两个角色精灵;一个是玩家角色精灵,一个是投射物角色精灵。不使用克隆。
半自动
此脚本要求玩家在再次开火之前释放触发器按钮。这降低了射速:
自动
此脚本允许玩家简单地按住扳机按钮进行连续射击:
两个角色精灵,一个克隆另一个
此方法类似于上面的方法,只是它结合了克隆以允许屏幕上有多个子弹。同样,需要一个玩家角色精灵和一个投射物角色精灵。
半自动
自动
一个角色精灵克隆自己
这种方法更高效,因为它只需要一个带有两个服装(玩家和投射物)的角色精灵。
半自动
自动
技巧
- 要使投射物瞄准鼠标指针,请在“转到x:() y:()”块之后放置以下块:
- 如果精灵的长度小于10个像素,则将两个10替换为至多精灵的长度,否则精灵可能会通过其预定目标。
- 还可以更改精灵服装的长度,以便它仍然可以检测到预定目标。
使用轨迹射击投射物
在Scratch中,轨迹公式用于诸如以下项目的模拟:
- 火箭或棒球模拟器
- 坦克游戏
- 包括投射物曲线的任何内容
公式计算投射物应该出现在屏幕上的位置。除了计算这个之外,还有许多其他公式计算不同的东西。
以下是公式:
Horizontal velocity: v°x = v°cos(ß)
Horizontal distance: x = a+v°xt
Vertical velocity: v°y = v°sin(ß)-gt
Vertical distance: y = b+v°sin(ß)-0.5gt²
v°是初始速度,ß是投射角度(从-90到90),a和b是起始坐标,g是非正式的重力常数9.81,t是自发射以来的时间。
其他公式:
Maximum height: H = b+[v°²sin²(ß)]/[2g]
Horizontal range: R = [v°²sin2(ß)]/[g]-a
sin(ß)和cos(ß)是垂直和水平分量(或速度)。