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日

相关文章

  • Spring Security Remember me使用及原理详解

    Spring Security Remember me是一种通过在用户登录后为用户生成Token,使用户在下一次访问时可以跳过登录,直接使用Token进行自动登录的机制。 实现Remember me功能可以使用Spring Security提供的RememberMeAuthenticationFilter过滤器,该过滤器会在用户登录成功后创建一个Token,…

    Java 2023年5月20日
    00
  • Mybatis实现自动生成增删改查代码

    下面我给你详细讲解一下Mybatis实现自动生成增删改查代码的完整攻略。 概述 Mybatis是一款基于Java的持久层框架,它提供了自动生成增删改查代码的功能,让开发人员可以快速生成常用的CRUD操作。可以大大提高代码的开发效率,减少了数据库访问层的开发工作量。 步骤 实现Mybatis自动生成增删改查代码的过程如下: 配置Mybatis Generato…

    Java 2023年5月19日
    00
  • 页面向下滚动ajax获取数据的实现方法(兼容手机)

    实现页面向下滚动 AJAX 获取数据的方法,常用于网站无限滚动加载更多内容的功能实现。下面是实现此功能的完整攻略: 技术选型 实现页面向下滚动 AJAX 获取数据,需要使用前端技术和后端技术协同完成。前端技术主要使用 JavaScript 和 jQuery,后端技术可以选择 PHP、Java、Python等。 实现步骤 确定页面上需要进行下拉刷新的区域,一般…

    Java 2023年6月16日
    00
  • Java Filter过滤器的使用教程

    Java Filter过滤器的使用教程 Java Filter是Servlet规范提供的一种过滤器机制,用于在Servlet请求和响应之前对请求进行过滤和处理。Filter的使用可以提高Web应用程序的安全性和性能。在本文中,我们将详细讲解Java Filter的使用教程。 Filter过滤器的基本概念 Filter是Servlet中的一种过滤器机制,主要用…

    Java 2023年6月15日
    00
  • Struts2源码分析之ParametersInterceptor拦截器

    下面我将就“Struts2源码分析之ParametersInterceptor拦截器”的完整攻略给您讲解,全文将分别从以下几个方面展开: ParametersInterceptor介绍 ParametersInterceptor源码分析 ParametersInterceptor示例 1. ParametersInterceptor介绍 Parameters…

    Java 2023年5月20日
    00
  • 深入理解JVM之Java对象的创建、内存布局、访问定位详解

    深入理解JVM之Java对象的创建、内存布局、访问定位详解 Java对象的创建 在Java中,创建对象最常见的方法就是使用关键字new,通过调用构造方法创建对象。在创建对象时,会先在堆内存中申请一块连续的内存空间,用于存储对象的属性。 Java对象的创建过程可以分为以下几个步骤: 加载类:在Java程序中使用到某个类时,JVM会首先查找并加载该类的类文件。 …

    Java 2023年5月26日
    00
  • java的几种定时器的具体使用(4种)

    下面我将详细讲解Java中几种定时器的具体使用。 一、定时器概述 定时器,也称为计时器,是一种可以定期、周期性执行任务的工具。在Java语言中,我们可以使用JDK提供的Timer类或ScheduledExecutorService接口来实现定时任务。 二、Timer类 Timer类提供了一种调度机制,允许我们在指定的时间点执行任务,并支持重复执行任务。 1.…

    Java 2023年5月20日
    00
  • SpringBoot配置MyBatis-Plus实现增删查改

    下面我将详细讲解“SpringBoot配置MyBatis-Plus实现增删查改”的完整攻略。 步骤一:引入依赖 在pom.xml文件中添加MyBatis-Plus和MySQL的依赖: <dependencies> <dependency> <groupId>com.baomidou</groupId> <…

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