实例接口

163次阅读
没有评论

共计 1765 个字符,预计需要花费 5 分钟才能阅读完成。

实例脚本接口

脚本接口表示对象类型的单个实例(由 IObjectClass 表示)

布局中显示的实例具有 IWorldInstance 接口,但它派生自 IInstance,因此这些方法和属性可用于任何类型的实例。

获得 IInstance

实例通常通过 IObjectClass 方法访问,例如 runtime.objects.Sprite.getFirstInstance() 将返回 Sprite 对象类型的第一个实例。

实例事件

可以使用 addEventListener 方法在任何实例上侦听以下事件。有关标准事件属性,请参阅实例事件。请注意,可以触发更多种类的特定于插件的事件。有关详细信息,请参阅有关每个插件脚本接口的文档。

  • “销毁”:在实例被销毁时触发。在此事件之后,对实例的所有引用现在都无效,因此在此事件中应删除或清除对实例的任何剩余引用。实例销毁后访问实例会引发异常或返回无效数据。事件对象还具有一个属性,用于指示对象是否因为布局的结束而被销毁,或者由于其他原因而被销毁。

实例 API

  • addEventListener(type, func, capture):为插件的脚本接口触发的特定类型事件添加事件处理程序。
  • removeEventListener(type, func, capture):为插件的脚本接口触发的特定类型事件删除事件处理程序。
  • dispatchEvent(e):调度事件,触发已为事件类型添加的任何处理程序函数。您可以使用创建可调度的事件对象(例如 new C3.Event("click", true)),并将与事件相关的任何额外属性添加到该对象。

运行

对 IRuntime 接口的引用。(这在对实例进行子类化时特别有用,因为在自定义类的方法中,您始终可以使用 this.runtime 来引用运行时。)

对象类型

此实例的对象类型的 IObjectClass 接口。它被命名为 objectType 而不是 objectClass,因为它始终引用对象类型,而不是系列。

插件

此实例插件的 IPlugin 接口(或派生接口)。

instVars

如果对象具有任何实例变量,则可以通过此属性下的命名属性访问它们。例如,如果对象具有名为 health 的实例变量,则可以使用 instance.instVars.health 进行设置和检索。请注意,如果对象没有实例变量,则该实例将根本没有属性。在某些情况下,实例变量的名称可能不是有效的 JavaScript 标识符。在这种情况下,您可以使用字符串属性语法,例如 instance.instVars["health"]

行为

如果对象具有任何行为,则可以通过此属性下的命名属性访问它们。例如,如果对象具有名为 Bullet 的行为,则可以使用 instance.behaviors.Bullet 来访问该对象。每个行为都有其自己的属性和方法,可以在行为接口参考部分找到。请注意,如果对象没有行为,则该实例将根本没有属性。在某些情况下,行为的名称可能不是有效的 JavaScript 标识符。在这种情况下,您可以使用字符串属性语法,例如 instance.behaviors["8Direction"]

UID 接口

此实例的唯一 ID,以数字形式表示。注意,可以使用运行时方法按其 UID 查找实例。

模板名称

用于创建此实例的模板名称的只读字符串,如果未使用模板,则为空字符串。

破坏()

销毁实例,将其删除并释放与其关联的任何内存。通话后不要再拨打任何电话或访问任何属性。该实例不再有效,任何使用它的尝试都可能引发异常。

getOtherContainerInstances()

返回一个数组(或派生数),表示与此实例位于同一容器中的其他实例。这不包括调用该方法的实例。

otherContainerInstances()

循环访问(或派生)表示与此实例相同的容器中的其他实例。这不包括调用该方法的实例。

DT 型

根据对象自己的时间刻度返回增量时间。有关详细信息,请参阅增量时间和帧速率独立性。

时间表

  • restoreTimeScale():该属性设置或获取当前特定于实例的时间刻度,例如,1.0 表示正常速度,2.0 表示两倍的速度,等等。请注意,一旦设置,实例将使用自己的时间刻度而不是运行时时刻度,例如,当运行时刻度为 0 时,允许实例继续移动。然后,调用该方法会将其切换回遵循运行时时间尺度。
正文完
 0
评论(没有评论)