对象

对象是唤境游戏制作中的核心。对象代表一类相同的物体;比如,在超级马里奥中,尽管普通砖块和金币都属于精灵,但普通砖块是一个对象,金币则是另一个对象:它们有着不同的动画、有着不同的逻辑,就连贴图都不一样。这就是对象的特点:它们可能属于同一个组件,但相互之间是独立的、有各种的不同。

在项目中,一个对象可以有多个实例;例如,在超级马里奥中,有很多块普通砖块。这些普通砖块实例有着相同的贴图、动画、逻辑。请注意,对象本身是没有位置、角度或尺寸属性的;只有具体的实例有这些属性。在对象库中您可以查看所有的对象;而在图层组视图中,您可以看到游戏中所使用的实例。在对象库中,可以删除、复制、重命名对象。

唤境中的另一个重要概念,事件,是针对对象设置的:事件会选中符合条件的实例。比如,“当马里奥撞到普通砖块时”这个条件,会对所有马里奥的实例和普通砖块的实例生效。不过,当事件运行时,条件只会选中发生碰撞的特定实例。关于事件逻辑的更多细节,可以在事件是如何生效的一文中查看。

对象还可以被划分到同类组中,这可以让您将相同的事件应用到不同的对象上,避免了很多重复工作。

在对象库中左键单击即可选中对象;选中后,在右侧的属性栏可以看到其所有属性。对象的属性包括对象属性、通用属性和组件相关属性三类。下面列举了对象的对象属性和通用属性,而组件相关属性可以在手册中的组件大全部分查看。

对象属性

对象有两个对象属性,分别为全局对象点击穿透

  • 全局对象:默认情况下,所有对象的实例,都会在场景结束时被销毁。但启用了全局对象后,该对象的实例在切换场景时不会被销毁。
  • 点击穿透:默认情况下,用户无法穿过某对象的实例,点击到在其下方的实例。但启用点击穿透后,点击或触屏事件可以对下方的图层生效。

通用属性

以下的属性是大多数对象都具有的:

  • 位置:对象的实例在场景中的X、Y坐标,可以通过在场景中移动实例改变;当对象的实例处于多个位置时,会显示(多种值)。
  • 大小:对象的实例在场景中的尺寸大小,以像素为单位;当对象的实例有多种大小时,会显示(多种值)。
  • 角度:对象的实例在场景中的旋转角度,以度为单位;当对象的实例有多种旋转角度时,会显示(多种值)。
  • 不透明度:对象的实例在场景中的不透明度,为0则完全透明,为100则完全不透明;当对象的实例有多种不透明度时,会显示(多种值)。
  • 混合模式:对象的实例在场景中与其下层的图像混合方式,常见的有正常、正片叠底、滤色等。当对象的实例有多种混合模式时,会显示(多种值)。