Scratch学习抛物运动
2019-09-10
电脑报 2019年45期
1.程序包含兩个角色:小球Ball、发射按钮Fire。
小球在舞台上的起始位置是(-180,-140)。
2.通过设置变量speed和变量angle的值来调整小球的发射速度和角度,然后单击Fire按钮发射小球。
当用户单击Fire按钮时,它会广播一条消息,小球接收消息后发射出去。
3.小球在发射前,图1需要移动到起始位置(-180,-140),然后设置落笔状态,并清除之前的笔迹。计算初始速度Vx,Vy。
4.小球发射后,每0.02秒计算并更新一次小球的位置。
首先计算垂直距离dy,如果为负值,说明小球已经到达地面,程序结束(图2)。
5.计算水平距离dx,脚本需要把小球的实际飞行距离转换成在舞台上的坐标位置,也就是把(dx,dy)转换成(xPos,yPos)。
舞台中模拟器的垂直长度为320(从-140到180),对应实际长度的100米,从(0到100)。
舞台中模拟器的水平长度为420(从-180到240),对应实际长度的100米,从(0到100)。
因此小球在舞台上飞行的垂直距离为320*dy/100步,水平距离为420*dx/100步,这两个数值分别加上小球的起始坐标,就是小球的实时位置(图3)。