预制件和模板
预制件和模板允许用户在项目的不同场景中重复使用对象并共享行为逻辑。用户还可以将预制件和模板文件导出到外部,以便导入其他项目并与其他用户分享。
以下简要介绍模板和预制件的相似之处与区别。
| 功能 | 模板 | 预制件 |
| 行为逻辑 | 创建时复制,之后每个实例彼此独立。编辑行为时,不会更新现有实例。 | 所有实例始终共享行为逻辑。编辑行为后,所有实例都会应用这些更改。 |
| 对象属性 (变换、物理属性、标签等) | 每个实例彼此独立。 | 每个实例彼此独立。 |
| 适用场景 | 玩家初始状态、不同场景中的敌人,以及其他行为逻辑各不相同的对象。 | 金币、子弹、门,以及其他共享行为逻辑的对象。 |
什么是预制件和模板?
预制件和模板包含单个对象的属性和行为逻辑,可从资源库中访问。二者唯一的区别是,预制件的所有实例都会共享相同的行为逻辑。
修改某个预制件的行为后,更改也会应用到同一对象的所有其他预制件实例。不过,属性、标签和变换等对象属性不会应用到所有预制件对象。
创建模板和预制件
要创建模板或预制件,请轻点并按住(或右键单击)要用来创建模板/预制件的对象,然后轻点 另存为。
系统会提供创建模板或预制件的选项。选择你想要的选项。请注意,选择创建预制件不会将所选对象转换为预制件。
系统会提示你输入模板或预制件的名称。这个名称将作为新资源在资源库中显示的名称。
创建预制件或模板后,它就会像这样显示在资源库中。你可以像处理其他资源一样随时重命名、移动或删除它。还可以预览它们,查看预制件或模板的基本信息。
⚠️ 删除预制件也会移除其所有实例的行为逻辑。此操作无法撤销,并会导致数据丢失。只有在确定项目不再使用这些预制件时,才将其删除。
使用模板
在资源库中选择一个模板资源,然后将它从资源栏拖到场景中即可。新创建的对象将具有该模板创建时的属性和行为逻辑。
你可以像编辑和使用场景中的其他对象一样编辑和使用这个对象。在此示例中,多个场景都使用了一个 Player 模板。所有 Player 模板对象的初始行为逻辑都相同,但你可以根据场景环境分别调整它们。例如,与陆地关卡相比,水下关卡中的玩家控制逻辑可能有所不同。
与预制件不同,编辑其中一个玩家对象的行为逻辑不会影响其他玩家对象。
其他适用场景包括:
- UI 按钮——你可以创建一个基本按钮模板,然后基于该模板创建按钮,并为它们设置不同的触发操作。
- 敌人——你可以创建一个基本敌人模板,然后基于其基础功能创建敌人,并添加额外逻辑,让敌人根据所在场景表现出不同的行为。
使用预制件
与模板类似,在资源库中选择预制件资源,然后将它从资源栏拖到场景中即可。新创建的对象将具有该预制件创建时的行为逻辑和对象属性。不过,它的行为逻辑会包含你对该预制件所做的最新更改(如果有)。
将预制件资源拖放到场景中后,就创建了该预制件的一个新实例。同一预制件的所有实例都会共享相同的行为逻辑。选择预制件对象后,你可以编辑其预制件行为;在预制件实例中所做的任何更改都会应用到同一预制件的所有其他实例。
变换、物理属性、属性或标签等对象属性不会在所有预制件之间同步——只有行为逻辑会同步。如果你想让多个对象(例如金币)共享相同的行为逻辑,同时将它们放置在多个区域,这种方式就非常合适。
预制件的强大之处在于,你只需编辑单个金币的行为,就能让所有金币都应用相应更改。这样可以节省大量时间,因为你可以同时调整许多对象的行为逻辑。
其他适用场景包括:
- 可破坏平台——所有可破坏平台的行为都相同,例如在发生接触后不久被摧毁。
- 环境物体——岩石、灌木或其他环境物体都可以共享相同的功能。例如,你可以让所有岩石都能被镐子敲碎。
你可以编辑单个对象,并将更改应用到该预制件的所有实例。这样可以确保多个对象保持一致。
如果你希望某个特定的预制件实例不再接收更改,可以轻点分支图标来解除对象关联。该对象将转换为独立的普通对象,此后你可以编辑它的行为,而不会影响预制件的其他实例。
此操作无法撤销。预制件的行为逻辑会完整复制到该对象中,并成为独立内容。之后对预制件所做的更改将不再影响此对象。
导出预制件和模板
如果用户想与他人分享预制件和模板,或在其他项目中使用它们,hyperPad 支持将其导出到外部。首先,在资源库中找到要导出的预制件或模板。
轻点并按住要导出的资源。系统会显示一个菜单,其中列出了可对该资源执行的操作。你可以选择分享,系统将为你创建一个可供外部分享的文件。
⚠️ 预制件和模板只包含对象的属性、资源及其行为逻辑。如果对象的行为中引用了项目中的其他对象或资源,那么将其导入到其他项目后,这些引用将无法使用。
导入预制件和模板
打开要导入预制件或模板的项目。在资源库中,轻点导入按钮。
选择预制件和模板。你可以从 Dropbox 和“文件”中导入预制件和模板文件,请选择文件所在的导入来源。
请注意,预制件文件的扩展名为 .pfb,模板文件的扩展名为 .tmp。选择要导入的文件后,你应该会看到新导入的预制件/模板资源,之后就可以按需在项目中使用它了。
⚠️ 覆盖预制件会将其所有实例现有的行为逻辑替换为新导入的行为逻辑。预制件实例的属性、标签和图形等对象属性会保留。

