射击投射物

本教程将解释如何创建射击、发射或投掷物体的效果。本文的前几个脚本不模拟速度或抛物线运动,但是对于在初始力之后没有受到任何传统力(重力、风力等)作用的投射物,可以使用这些脚本,尽管它可能会被墙壁或目标挡住。

当按下空格键或单击鼠标时,投射物就会发射,但触发器可以是任何布尔块。

两个角色精灵,无克隆

这些脚本需要两个角色精灵;一个是玩家角色精灵,一个是投射物角色精灵。不使用克隆。

半自动

此脚本要求玩家在再次开火之前释放触发器按钮。这降低了射速:

【图1】

自动

此脚本允许玩家简单地按住扳机按钮进行连续射击:

【图2】

两个角色精灵,一个克隆另一个

此方法类似于上面的方法,只是它结合了克隆以允许屏幕上有多个子弹。同样,需要一个玩家角色精灵和一个投射物角色精灵。

半自动

【图3】

自动

【图4】

一个角色精灵克隆自己

这种方法更高效,因为它只需要一个带有两个服装(玩家和投射物)的角色精灵。

半自动

【图5】

自动

【图6】

技巧

  • 要使投射物瞄准鼠标指针,请在“转到x:() y:()”块之后放置以下块:

【图7】

  • 如果精灵的长度小于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(ß)是垂直和水平分量(或速度)。

标签: Scratch, Scratch编程, Scratch中国, 少儿编程, Scratch社区, Scratch编程社区, Scratch编程课程, Scratch编程教程