Scratch编程教程-高级克隆用法

高级克隆用法
选择类型
如果一个克隆需要其数据(任何关于它的信息,如健康值(HP)、X坐标、Y坐标等)可被其他克隆或精灵访问,则应使用影响克隆。如果一个克隆的数据除了自己以外不需要被访问,那么应使用非影响克隆。
创建非影响克隆
这种类型的克隆不需要共享信息,因此更简单。
按创建顺序创建克隆的方法
制作非影响克隆的一种方法是根据它们创建的顺序为每个克隆分配一个识别号码。
准备
首先,您将需要以下变量: 一个本地变量,告诉克隆它们有什么ID,这个变量在本教程中被称为“buttonNumber”。 本地变量,用于克隆具有的任何属性,例如速度或HP
编写脚本
现在,在您要从中制作这些克隆的精灵中,制作以下脚本:
接下来,您可以为每个按钮或元素单独编写脚本:
然后,你可以为每个按钮或物品单独编写脚本:
如果有一些事情需要所有克隆体都立即执行,那么在if语句之前放置一个命令块。更好的做法是添加另一个“When I Start as a Clone”块,并在其中添加命令。
基于许多属性创建克隆体
有时,在制作炮塔等情况下,可能会有太多的组合方向,服装和其他属性难以计数。在这种情况下,您应该将类型分解为许多属性。
准备
对于此,您将执行相同的操作,但是为不同的结果制作许多全局变量。在此示例中,将使用以下内容: “bulletType”用于区分玩家的子弹和对手的子弹 “shotX”和“shotY”用于子弹的起始位置 *“shotDirection”用于子弹移动的方向
脚本
每当您想要一个角色射击时,在触发之后(例如在按下空格键之后或某种条件之后)放置此脚本:
把以下代码放在子弹角色的“当收到消息bulletType时”积木块里:
不会影响克隆体的特效
特效可以是许多不同的东西,例如:
- 云,雾,鸟和其他环境物体。
- 添加现实感的东西,实际上是粒子,例如枪烟,引擎火等等。
为了制作这些特效,只需要使用之前推荐的方法,并且可以按需制作多种类型的特效,例如此项目。这些特效实际上会使用与子弹相同的变量,因为必须告诉它们要去哪里。
创建影响其他克隆体的克隆体
这些克隆体正如之前提到的一样,其他精灵或克隆体需要它们的数据,例如它们的位置。它们通常遵循相同的方法,但将信息存储在列表中,以便其他精灵可以通过ID访问它们。
准备工作
为了创建这些类型的克隆体,您需要以下内容:
- 一个名为"cloneNum"或类似的全局变量。这充当计数器变量。
- 一个名为"myID"的局部变量,以便克隆体可以识别自己。
- 用于共享属性的全局列表。在此示例中,将使用列表"Xposition"和"Yposition"来跟踪克隆体的坐标位置。
编写脚本
将这些脚本放入要进行克隆的精灵中:
为了克隆,放入以下脚本:
你也可以将这两种方法结合起来,制作不同类别的克隆体,并共享数据。