位置:常州童程童美少儿编程学校 > 学校动态 > 常州学少儿编程 炮打恐龙教程
这个游戏的关键就是当按下开火按钮时,大炮会自动计算需要的发射角,自动调整好角度,确保击中怪兽。物理理论讲解斜抛运动:(理论部分来自百度百科)根据运动独立性原理,可以把斜抛运动看成是做水平方向的匀速直线运动和竖直上抛运动的合运动来处理或沿V0方向的直线运动和自由落体运动的合运动。在忽略空气阻力的条件下,分解速度,则有:其中Vo为抛出速度,θ为速度与水平面夹角,g为重力加速度水平方向的位移方程是:
这个游戏的关键就是当按下开火按钮时,大炮会自动计算需要的发射角,自动调整好角度,确保击中怪兽。
物理理论讲解
斜抛运动:(理论部分来自百度百科)
根据运动独立性原理,可以把斜抛运动看成是做水平方向的匀速直线运动和竖直上抛运动的合运动来处理或沿V0方向的直线运动和自由落体运动的合运动。
在忽略空气阻力的条件下,分解速度,则有:
其中Vo为抛出速度,θ为速度与水平面夹角,g为重力加速度
水平方向的位移方程是:
竖直方向的位移方程是:
物体的水平射程是:
上面就是今天用到的所有公式,只要是上了初中学了运动学的都能理解这个公式,如果是高年级的,估计需要爸妈帮忙给辅导一下啦。
程序素材
小编本来想用射箭来讲这一课,但是想来想去还是用炮更容易让大家联想现实。那么小编就需要自己来准备素材了,角色图片都是搜索后加工的。
这个是炮的角色,角色的造型中心就设定在轮子的圆心上,这样炮管的角度调整就可以用简单的角色旋转来做了。
这个发射时的炮口火焰效果是小编自己做的,看着很逼真吧。
爆炸效果是小编自己网上找的。
背景和恐龙都是Scratch自带的。背景的炮声和妖怪的声音也是小编从网上找的。
程序设计
这个程序小编没有用克隆体来做,都是用了角色的本体,所以就可以放心的使用消息这个命令了。
首先是大炮的角色:
这里面小编都使用了变量,这样大家可以调试方便,只要修改变量,就会获得不同的程序效果。
发射速度和加速度都是事先已知的变量,所以放在了初始化这条消息里。
攻击的消息激活,小编这里用了按钮来激活的,大家也可以利用怪兽进入大炮射程时自动激活消息,只要判断距离是否小于射程就可以了。
根据上面的水平射程公式,我们已知初始速度和射程(怪兽到大炮的距离)就可以计算出所需要的抛射角。
考虑到Scratch的方向是与竖直方向的夹角,而不是水平方向,所以需要用90-计算出的夹角就得出了角色的射击方向。
后面一个判断是看射程的,如果发射角没法计算出来了,那么也就是超出了大炮的射程。如果没有超出射程,那么就广播开炮。(当收到开炮消息时,大炮的角色切换一下造型,显示一下发射的火焰效果)
开炮后,让我们看炮弹角色的代码:
这段代码稍微复杂点,我们需要增加一个时间的变量,和水平射程x以及垂直射程y的变量。
循环的过程就是这个抛物线轨迹的代码:
1:首先,循环的中止条件设为炮弹垂直射程y小于0,也就是落到地面了。
2:时间的变量实际上可以调节炮弹射出后的演示效果,也就是慢还是快。你调大了,就变成了快镜头,调慢了就变成了慢镜头。而不论你调大还是调小,在炮弹发射和落地的时间变量**后的值都是一样的,大家可以试试看。
3:水平射程公式和垂直射程公式(套用了上面的运动方程)
4:将x和y变量修正到Scratch的坐标上。
5:这个判断是让炮弹出膛之后才显示出来,在炮管中就不要显示了。
6:**后发出爆炸消息,然后角色隐藏起来。
而爆炸角色就是收到爆炸消息的时候显示一下:
恐龙角色:
这个角色代码没什么好讲的,大家自己看吧,逻辑就是当按了发射按钮之后:
1:角色停止前进。
2:被击中后向后栽倒。
开火的按钮角色:
这部分小编做的比较简单,也没什么好讲的,大家自己看看代码吧。
尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/2499/news/304732/违者必究! 以上就是常州童程童美少儿编程学校 小编为您整理 常州学少儿编程 炮打恐龙教程的全部内容。