scratch怎么做太阳地球月球转动演示? 地球月球太阳三维动画的做法

做太阳、地球、月球运动的动画可以使用Scratch软件来实现。下面是这个动画的做法:

  1. 创建地球

首先,我们需要创建地球的精灵(Sprite)。点击 Scratch 软件界面左下角的“角色”图标,选择“新角色”。在弹出的对话框中,可以选择一个预定义形状作为地球的外观。点击“确定”后,可以进入地球的编辑界面,在这里可以为地球添加要显示的图像或修改其它属性。

  1. 给地球加动作

为了让地球能够环绕太阳运动,需要给地球添加动作。在地球编辑界面左侧的动作大纲中,找到“运动”类别,拖拽“以 XX 度数旋转” 模块到右侧的脚本区域中,然后输入一个转动角度,例如“1度”。

需要在一个无限循环中不断执行这个动作,使地球得以持续转动。找到“控制”类别下的“无限循环”模块,将其拖拽到脚本区域中,将“以 XX 度数旋转”模块放入该模块内。

  1. 添加太阳和月球

为了让场景更加完整,可以向场景中添加太阳和月球。同样的,选中“角色”图标,选择“新角色”,在弹出的对话框中选择预定义形状,创建太阳和月球的精灵。

  1. 地球月球间的转动

以同样的方式,为月球建立一个“以 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
  1. 太阳、地球、月球的三维动画效果

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技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • springboot 接口返回字符串带引号的问题解决

    在Spring Boot中,当我们返回一个字符串时,有时候会出现带引号的问题。这个问题通常是由于Jackson库的默认配置导致的。在本文中,我们将详细讲解如何解决这个问题,并提供两个示例来说明如何使用这个解决方案。 解决方案 要解决这个问题,我们需要在Spring Boot应用程序中配置Jackson库的行为。具体来说,我们需要将Jackson库的默认配置更…

    Java 2023年5月18日
    00
  • MyBatis动态SQL表达式详解

    MyBatis动态SQL是针对不同情况下需要根据不同条件动态调整SQL语句的需求而产生的一种功能,具有很强的灵活性和可读性。其中动态SQL表达式是实现动态SQL的关键,本文将解析MyBatis中动态SQL表达式的使用方法和一些示例。 什么是MyBatis动态SQL表达式 MyBatis动态SQL表达式一般用于编写可动态调整SQL的Mapper文件,可以根据不…

    Java 2023年5月19日
    00
  • Java中的JDBC是什么?

    JDBC(Java DataBase Connectivity)是Java语言中用于访问数据库的一种标准接口。通过 JDBC 接口,可以用 Java 语言来操作各种关系型数据库,如 Oracle、MySQL、SQL Server、Access 等。 使用 JDBC 连接数据库主要分为4个步骤: 导入 JDBC 相关的 JAR 包。 加载 JDBC 驱动程序。…

    Java 2023年4月27日
    00
  • Spring框架JdbcTemplate数据库事务管理完全注解方式

    下面开始讲解“Spring框架JdbcTemplate数据库事务管理完全注解方式”的完整攻略。 什么是JdbcTemplate JdbcTemplate是Spring JDBC 模块中的一个核心类,用于简化JDBC操作。它完全封装了JDBC API,提供了一组更简单、更少样板代码的JDBC操作方式。同时,JdbcTemplate也提供了事务处理的支持。 JD…

    Java 2023年5月19日
    00
  • Java如何构造DSL方法重构

    Java的DSL(Domain-Specific Language,领域特定语言)能够让我们更加方便地描述、操作特定领域的问题。在Java中构造DSL的一种方法是使用方法重构(method chaining)技术。 方法重构是一种允许连续调用多个方法的技术。在Java中,这通常是通过每个方法都返回对象本身的实例来实现的。说得更简单一些,就是每次调用一个方法,…

    Java 2023年5月26日
    00
  • 让Java后台MySQL数据库能够支持emoji表情的方法

    当我们在Java后台使用MySQL数据库时,有时需要支持emoji表情。但是MySQL默认情况下是不支持emoji的,所以我们需要进行一些配置和操作来使其支持。 以下是支持emoji表情的完整攻略: 步骤一:修改MySQL的字符集 MySQL数据库默认使用的是utf8字符集,而utf8字符集只支持一部分的Emoji表情。当我们想要支持完整的Emoji表情时,…

    Java 2023年5月20日
    00
  • JSP过滤器防止Xss漏洞的实现方法(分享)

    实现JSP过滤器来防止XSS漏洞的方法如下: 在web.xml文件中添加过滤器配置 在web.xml文件中添加以下过滤器配置: <filter> <filter-name>XssFilter</filter-name> <filter-class>com.example.XssFilter</filter…

    Java 2023年6月15日
    00
  • Java8时间转换(LocalDateTime)代码实例

    下面我会详细讲解Java8时间转换(LocalDateTime)代码实例的完整攻略。在这个过程中,我会提供两个示例供您参考。 1. 概述 Java8中引入了新的日期类,其中包括了LocalDate和LocalDateTime。在之前的版本中,我们需要使用Calendar类来完成日期的操作,而在Java8中,可以通过LocalDateTime来完成。 Loca…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部