Scratch里面,所有的表现结果都在“舞台区”呈现,前面我们学习的“石头剪刀布”游戏,也是在“舞台区”完成的。

舞台区是非常重要的区域,所以我们今天单独用一个章节来详细说说这个舞台。

既然是一个舞台,我们在安排角色位置的时候,就必须有一个可以定位的方法,那么我们采用的是坐标系的方式。

坐标系在小学高年级会接触,但是在实际教学中,我们发现低年级的学生也能快速掌握。所以我们先来看这个舞台的坐标系是怎么样的:

我们在舞台区滑动鼠标,会发现在上图红色方框位置的数字会变化,这就是鼠标所在舞台的位置。

舞台坐标系如下图:

注意,在这个舞台区上,所有的数字是没有单位的,也就是说无论是x还是y的数值,我们不能用日常的单位去衡量,这个数字不是毫米,也不是像素,而是一个相对于舞台中心的一个对比值。

下面,我们来让这个小猫移动到舞台指定的位置(98,-110),我们该怎么做呢?

首先,我们先在角色区中点击一下小猫,角色小猫会出现蓝色框,这表示我们将对小猫下命令;

然后在中间功能区找到蓝色动作功能积木:

我们将数字改为98,-110,改了后再点击一下这个蓝色积木块,小猫一下就出现了在98,-110的位置了。

我们要对舞台区的坐标大概位置心里要有概念,因为以后所有的角色都将在舞台区出现,那么对角色位置的精确安排就非常重要,心里对舞台区有概念后,未来我们制作任何游戏,包括角色的大小调整,我们心里都能在第一时间出现这个游戏完整的样子而不会茫然。

我们了解了舞台坐标之后,然后需要了解下一个内容——舞台背景。

一个精美的游戏或是动画作品,除了主要角色之外,应该还有对应的背景,这样会让整个作品看起来更加美观,也容易让观众有代入感。

所以,我们了解舞台后,现在要开始学习安排舞台背景。

舞台背景我们通常会采用一些图片作为素材,Scratch软件里也自带了一部分,我们先从这里打开:

点击红色的框,我们可以看到软件自带的背景图片,选中一个后点击右下角确定按钮:

这个图片然后就会出现在舞台区,并放置于小猫的背后,不会挡住小猫:

同样,舞台背景也是角色,我们一样可以对舞台背景进行编程,只不过舞台背景编程的功能要少一些:

如果有多个背景要切换怎么办呢?

我们点击功能区中的背景选项:

这里我们可以对背景进行添加和删除。

在这一排按钮里,第一个是导入软件自带背景,第二个是自己画一个背景,第三个是导入电脑里其他文件夹中的图片,第四个是调用摄像头拍一张。

对于不要的背景,我们可以右键点击背景,然后选择删除,或是点击背景图片上的小叉:

我们一般会在网上搜索一些图片,或是自己做一些背景,然后导入进来,怎么使用scratch自带绘图功能我们下次再说,我们今天先用自带的背景图片来学习一下对背景进行编程:

我们先导入两张背景图片:

注意看,每个背景图片都有自己的名字,这个名字是在导入的时候就设定好了的。同时,这些背景都有自己的序列号,由上至下从1号开始。

鼠标左键按住背景图片拖住可以上下移动排列顺序。

针对这些背景,我们利用前一章学习的功能模块来对背景进行一个简单编程,让这些背景每1秒钟切换一次:

今天我们熟悉了舞台和背景,这样是不是未来可以做出魂斗罗这样有滚动的背景呢?好期待呀。

是不是觉得很简单,对,入门确实非常简单,不过也别高兴的太早,本编要在下一开始对角色进行详解,会渐渐提高难度,也越来越精彩,敬请关注。

附加题:

请给上一期做的“石头剪刀布”游戏加入背景,有没有办法让小猫出不同的动作选择不同背景呢?


Scratch零基础魔法编程(一)为什么你要学Scratch儿童编程
Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏
Scratch零基础魔法编程(三)剪刀石头布
Scratch零基础魔法编程(四)舞台区详解
Scratch零基础魔法编程(五)角色详解
Scratch零基础魔法编程(六)用“角色”与“舞台”的组合做个小动画
Scratch零基础魔法编程(七)“触碰”基础
Scratch零基础魔法编程(七)篇外.用小动画和触碰能做大型游戏?
Scratch零基础魔法编程(八)声音模块详解

Scratch(四)舞台区详解的更多相关文章

  1. [转]Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解

    一.Linux服务器上11种网络连接状态: 图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个阶段:1.TCP三次握手;2.数据传送;3.TCP四次挥手. 注:以下说明最好能结合”图:T ...

  2. S7-300过程映像区详解

      一.概念  W过程镜像区输入字 PIW立即输入区字  PIW不用等系统刷新,立即读入 IW等待系统刷新后读入   二.PIW/IW,PQW/QW  引用西门子论坛一位大侠的比方加深理解:      ...

  3. ElasticSearch第四步-查询详解

    ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSea ...

  4. J2EE进阶(四)Spring配置文件详解

    J2EE进阶(四)Spring配置文件详解 前言 Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".Java EE程 ...

  5. JVM 运行时数据区详解

    一.运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域. 1.有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,所有的线程共享这些数据区. 2.第二种则 ...

  6. TCP三次握手与四次挥手详解

    目录 TCP三次握手与四次挥手详解 1.TCP报文格式 2.TCP三次握手 3.TCP四次挥手 4.为什么建立连接需要三次握手? 5.为什么断开连接需要四次挥手? 6.为什么TIME_WAIT状态还需 ...

  7. TCP三次握手四次挥手详解

    转载 http://www.cnblogs.com/zmlctt/p/3690998.html 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需 ...

  8. [ 转载 ] Tcp三次握手和四次挥手详解

    #TCP的报头: 源端口号:表示发送端端口号,字段长为16位.目标端口号:表示接收端口号,字段长为16位.序列号:表示发送数据的位置,字段长为32位.每发送一次数据,就累加一次该数据字节数的大小.注意 ...

  9. TCP三次握手四次挥手详解2

    相对应socket开发者,TCP创建过程和连接拆除过程是由TCP/IP协议栈自动创建的,因此开发者并不需要控制这个过程,但是对于理解TCP底层运作机制,相当有帮助 TCP三次握手 所谓三次握手,是指建 ...

随机推荐

  1. pyinstaller参数介绍以及总结

    最近利用tkinter+python+pyinstaller实现了小工具的项目,在此记录下pyinstaller相关参数以及爬过的坑. 一.pyinstaller相关参数 -F, –onefile 打 ...

  2. Spark(四十七):Spark UI 数据可视化

    导入: 1)Spark Web UI主要依赖于流行的Servlet容器Jetty实现: 2)Spark Web UI(Spark2.3之前)是展示运行状况.资源状态和监控指标的前端,而这些数据都是由度 ...

  3. Andorid SQLite数据库开发基础教程(2)

    Andorid SQLite数据库开发基础教程(2) 数据库生成方式 数据库的生成有两种方式,一种是使用数据库管理工具生成的数据库,我们将此类数据库称为预设数据库,另一种是使用代码生成的数据库.

  4. Dart泛型

    /* 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) */ //只能返回string类型的数据 // String getData(String value){ ...

  5. django实战总结2

    https://www.jianshu.com/p/9b3bfe934511 https://www.cnblogs.com/1Q84mi/p/xadmin002.html https://blog. ...

  6. 将C++资源文件读取出来

    HRSRC   hResource   =   FindResource(GetModuleHandle(NULL),     MAKEINTRESOURCE(IDR_CALC),   TEXT(&q ...

  7. Qt编写气体安全管理系统12-设备双击

    一.前言 在编写这个项目的过程中,有个得到客户夸赞的小功能就是,设备按钮双击,在离线的时候是双击重连设备,在线的时候是双击弹出具体详情界面,回控设备,参数设置等.在modbus设备通信过程中,设定了超 ...

  8. k8s记录-docker私有仓库

    docker pull registry docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always ...

  9. c# 在静态方法里,怎么能得到调用者的类名?

    System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); string name = st.GetFrame(1) ...

  10. Python - Django - 添加首页尾页上一页下一页

    添加首页和尾页: views.py: from django.shortcuts import render from app01 import models def book_list(reques ...