不二如是 发表于 2016-11-28 17:23:22

0 0 8 9 - 神兽验证地心引力 - 【战】

本帖最后由 不二如是 于 2016-11-29 11:20 编辑



重温下家喻户晓的自由落体公式:

h = 1/2 * g * t2

h->高度 、 g->重力加速度(默认为9.8 m/s2) 、t->下落时间

脚本中让神兽,从35m高度自由落下(不要担心,神兽有金刚不坏之身~)

每隔0.5s划一条标记线

最后统计神兽落地用了多少时间~

好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


[*] 初始化并模拟位置

仿照日常实际开发,把初始化过程,封装在一个模块中,让主脚本清晰明确!

负责让角色移动到起始点,并清空之前运行的其他造型!



初始化后,脚本进入重复执行。

等待0.05s,让程序每隔0.05s计算并更新小球位置。

更新下落时间 t 、 下落距离 d 、标线变量 counter

因为公式要除以1/2,本例中默认g为常量,直接简化为4.9哈




[*] 计算时间

从舞台左边可以看到,标尺为0-35m,故而d变量就是属于!

聪明如你一定会问了,那舞台明明是Scratch中的坐标系统,怎么能用35随便替换?

果然犀利的一个问题!

为了解决这个问题,只要将坐标和d相互转换下就好啦~

神兽其实从开始到下落停止,y坐标是固定滴!

y1(起点) = 136 , y2(终点) = -132

所以:

(136 - (-132)) = 268 = 35M




[*] 画标线

画标线就是这一个脚本的精华啦!

画线用图章,好久没用了,温习下!

由于每次循环都要等待0.05s,十次就是0.5s

所以题目画线要求的0.5s、1s、1.5s、2.0s

那么迭代次数counter就都是10、20、30、40都是整数!

那么判断取余为0就搞定了:





页: [1]
查看完整版本: 0 0 8 9 - 神兽验证地心引力 - 【战】