做太阳、地球、月球运动的动画可以使用Scratch软件来实现。下面是这个动画的做法:
- 创建地球
首先,我们需要创建地球的精灵(Sprite)。点击 Scratch 软件界面左下角的“角色”图标,选择“新角色”。在弹出的对话框中,可以选择一个预定义形状作为地球的外观。点击“确定”后,可以进入地球的编辑界面,在这里可以为地球添加要显示的图像或修改其它属性。
- 给地球加动作
为了让地球能够环绕太阳运动,需要给地球添加动作。在地球编辑界面左侧的动作大纲中,找到“运动”类别,拖拽“以 XX 度数旋转” 模块到右侧的脚本区域中,然后输入一个转动角度,例如“1度”。
需要在一个无限循环中不断执行这个动作,使地球得以持续转动。找到“控制”类别下的“无限循环”模块,将其拖拽到脚本区域中,将“以 XX 度数旋转”模块放入该模块内。
- 添加太阳和月球
为了让场景更加完整,可以向场景中添加太阳和月球。同样的,选中“角色”图标,选择“新角色”,在弹出的对话框中选择预定义形状,创建太阳和月球的精灵。
- 地球月球间的转动
以同样的方式,为月球建立一个“以 XX 度数旋转”的动作,与地球一起旋转,但需要使月球与地球具有相对运动。对于月球,可以调整其初始位置,以便围绕地球做椭圆形轨迹的运动。
使用如下类似的代码,就可以实现月球和地球的相对运动。
repeat forever
turn 1 degrees
glide (3) secs to x:(10) y:(-20)
turn -1 degrees
glide (3) secs to x:(0) y:(0)
end
- 太阳、地球、月球的三维动画效果
Scratch 默认使用平面坐标系表示位置信息,如果要实现三维旋转效果,需要对位置信息进行“投影映射”(Projection Mapping)处理。这里只介绍其中一种简单的实现方式:
首先调整太阳和月球的图像大小,以便使其看起来比地球更大。然后为每个精灵建立一个自动变量,用于保存其映射后的位置坐标。
使用如下代码,可以实现太阳、地球、月球在同一轴向上的三维环绕动画效果。
when green flag clicked
set [axis v] to [300]
forever
turn [1] degrees
change [axis v] by [2]
set x position to (([x position] - [200]) * [axis v] / [300]) + [200]
set y position to (([y position] - [200]) * [axis v] / [300]) - [100]
set z order to (3000) - (([y position] + [100]) / [1])
end
这段代码用了一个名为“axis v”的自动变量用来模拟场景的投影缩放效果。该变量的值随着“turn”模块的执行不断增加,太阳、地球和月球的投影位置也随之发生变化。
以上就是如何使用Scratch做太阳、地球、月球转动演示的完整攻略。这里只提供了一个简单的示例,但可以根据具体情况进行更复杂的优化和拓展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:scratch怎么做太阳地球月球转动演示? 地球月球太阳三维动画的做法 - Python技术站