共计 1684 个字符,预计需要花费 5 分钟才能阅读完成。
对象类脚本接口
脚本接口表示项目中的对象类,例如 Sprite 对象类型。一个 ObjectClass 可以创建多个实例,如果 IWorldInstance 脚本接口出现在布局中,则由 IWorldInstance 脚本接口表示,否则由 IInstance 接口表示。IObjectClass
术语“对象类”用于指代对象类型和族。它可以被认为是两者的基类。
获取 IObjectClass
对项目对象类的引用通常通过 IRuntime 接口属性进行访问。例如,将引用 Sprite 对象类型的接口,假设一个已添加到项目中。objectsruntime.objects.SpriteIObjectclass
尽量不要将对象类与对象实例混淆。一个常见的错误是尝试使用类似的东西来获取 Sprite 实例的 X 坐标。但是,它是一个 IObjectClass,它没有位置。在尝试读取实例属性之前,首先添加另一个调用以获取实例,例如。runtime.objects.Sprite.xruntime.objects.Spriteruntime.objects.Sprite.getFirstInstance().x
例子
以下示例演示了如何使用:IObjectClass
实例销毁事件演示了该事件的用法 "instancedestroy"
迭代实例演示了如何使用迭代器修改所有实例 instances()
对象类事件
可以使用该方法侦听以下事件。addEventListener
“实例创建”
每当创建属于此对象类型(或族)的新实例时,都会触发。事件对象具有引用创建的 IInstance(或派生)的属性。instance
“实例销毁”
每当属于此对象类型(或族)的任何实例被销毁时触发。在此事件之后,对实例的所有引用现在都无效,因此在此事件中应删除或清除对实例的任何剩余引用。实例销毁后访问实例会引发异常或返回无效数据。事件对象具有引用已销毁的 IInstance(或派生)的属性。它还具有一个属性,用于指示对象是否因为布局的结束而被销毁,或者由于其他原因而被销毁。nullinstanceisEndingLayout
对象类 API
运行
对 IRuntime 接口的引用。
插件
对创建此对象类的 IPlugin 接口(或派生)的引用。
名字
对象类名称的只读字符串。
addEventListener(eventName,回调)
removeEventListener(eventName,回调)
添加或删除事件的回调函数。有关详细信息,请参阅上面的对象类事件。
setInstanceClass(类)
设置用于表示此对象类型的实例的自定义类。该类必须派生自默认类。这只能在创建任何实例之前调用。有关更多信息,请参阅有关子类化实例的指南。runOnStartup
getAllInstances()
返回此对象类的所有实例的数组。
getFirstInstance()
返回 返回的数组中的第一个实例,如果不存在实例,则返回。getAllInstances()null
实例()
循环访问对象类的所有实例。
getPickedInstances()
返回已按事件条件选取的实例数组。这仅对事件表中的脚本有用。
getFirstPickedInstance()
返回事件条件选取的第一个实例,如果没有。这仅对事件表中的脚本有用。null
pickedInstances()
循环访问事件条件选取的实例。这仅对事件表中的脚本有用。
createInstance(layerNameOrIndex,x,y,createHierarchy,模板)
在某个位置创建对象类型的新实例。要创建的图层由图层名称的不区分大小写的字符串或其从零开始的索引指定。该位置在布局坐标中给出。如果为 true,则还将自动创建场景图层次结构中已创建实例的所有子项,并建立连接。如果是有效的模板名称,则新实例将基于模板而不是任意实例。
返回一个表示已创建实例的实例类。createHierarchytemplate
有关层次结构的更多信息,请参阅“布局视图”手册条目中的设置层次结构。
有关什么是模板以及如何开始使用它们的更多信息,请参阅模板手册条目。