GameObject

.GameObjects. GameObject

所有游戏对象扩展的基类. 您不能直接创建游戏对象,也不能将它们添加到显示列表中. 相反,使用它们作为您自己的自定义类的基础.

Constructor

new GameObject(scene, type)

Since:
  • 3.0.0
Parameters:
Name Type Description
scene Phaser.Scene 此游戏对象所属的场景.
type string 游戏对象类型的文本表示,即. `sprite` .

Extends

Members

(static, constant) RENDER_MASK :number

将 `GameObject.renderFlags` 所对应的位掩码进行比较,以确定游戏对象是否会渲染.
Type:
  • number

active :boolean

Since:
  • 3.0.0
Default Value:
  • true
此游戏对象的活动状态. 活动状态为 `true` 的游戏对象由场景更新列表处理(如果添加). 活动对象是指其逻辑和内部系统正在更新的对象.
Type:
  • boolean

(nullable) body :Phaser.Physics.Arcade.Body|Phaser.Physics.Arcade.StaticBody|MatterJS.BodyType

Since:
  • 3.0.0
Default Value:
  • null
如果这个游戏对象是为街机或物质物理学启用的,那么这个属性将包含一个对物理体的引用.
Type:

cameraFilter :number

Since:
  • 3.0.0
Default Value:
  • 0
控制此游戏对象是否由摄像机绘制的位掩码. 通常不直接设置,而是调用 `Camera.ignore` ,不过你可以 直接使用Camera.id属性设置该属性:
Type:
  • number
Example
this.cameraFilter |= camera.id..

cameraFilter :number

Since:
  • 3.0.0
Default Value:
  • 0
控制此游戏对象是否由摄像机绘制的位掩码. 通常不直接设置,而是调用 `Camera.ignore` ,不过你可以 直接使用Camera.id属性设置该属性:
Type:
  • number
Example
this.cameraFilter |= camera.id.

data :Phaser.Data.DataManager

Since:
  • 3.0.0
Default Value:
  • null
数据管理器. 它允许您存储,查询和获取特定于此游戏对象的密钥/值配对信息. 默认情况下为 `null` .如果使用 `getData` 或 `setData` 或 `setDataEnabled` ,则自动创建.
Type:

displayList :Phaser.GameObjects.DisplayList|Phaser.GameObjects.Layer

Since:
  • 3.50.0
Default Value:
  • null
保存对包含此游戏对象的显示列表的引用. 当这个游戏对象被添加到一个场景或层时,它会被自动设置. 您应该将此属性视为只读.
Type:

ignoreDestroy :boolean

Since:
  • 3.5.0
Default Value:
  • false
如果此标志设置为 `true` ,此游戏对象将忽略对其销毁方法的所有调用. 这包括可能来自组,容器或场景本身的调用. 虽然它允许你跨场景的持续游戏对象,请理解你是完全 负责管理对此游戏对象的引用.
Type:
  • boolean

(nullable) input :Phaser.Types.Input.InteractiveObject

Since:
  • 3.0.0
Default Value:
  • null
如果这个游戏对象被允许输入,那么这个属性将包含一个交互对象实例. 一般不会直接设定.而是调用 `zGameObject.SetInteractive()` .
Type:

name :string

Since:
  • 3.0.0
Default Value:
  • ''
此游戏对象的名称. 默认情况下是空的,Phaser从不填充,这留给开发人员使用.
Type:
  • string

parentContainer :Phaser.GameObjects.Container

Since:
  • 3.4.0
此游戏对象的父容器(如果有).
Type:

renderFlags :number

Since:
  • 3.0.0
Default Value:
  • 15
与 `RENDER_MASK` 进行比较以确定此游戏对象是否会渲染的标志. 位为0001 | 0010 | 0100 | 1000,分别由组件可见,阿尔法,变换和纹理设置. 如果您的自定义类没有使用这些组件,那么您可以根据需要使用这个位掩码.
Type:
  • number

renderFlags :number

Since:
  • 3.0.0
Default Value:
  • 15
与 `RENDER_MASK` 进行比较以确定此游戏对象是否会渲染的标志. 位为0001 | 0010 | 0100 | 1000,分别由组件可见,阿尔法,变换和纹理设置. 如果您的自定义类没有使用这些组件,那么您可以根据需要使用这个位掩码.
Type:
  • number

scene :Phaser.Scene

Since:
  • 3.0.0
对该游戏对象所属场景的引用. 游戏对象只能属于一个场景. 您应该将此属性视为只读.您不能移动 通过简单地改变游戏对象到另一个场景.
Type:

state :number|string

Since:
  • 3.16.0
此游戏对象的当前状态. 相位器本身永远不会修改这个值,尽管插件可以这样做. 使用此属性跟踪游戏对象在其生命周期内的状态.例如,它可以从 `moving` ,到 `attacking` ,到`dead`的状态.状态值应该是一个整数(理想情况下映射到一个常数 在你的游戏代码中),或者字符串.这些建议是为了保持它的轻便和简单,快速比较. 如果您需要存储关于游戏对象的复杂数据,可以考虑使用数据组件.
Type:
  • number | string

tabIndex :number

Since:
  • 3.0.0
Default Value:
  • -1
游戏对象的标签索引. 保留供插件和输入管理器将来使用.
Type:
  • number

type :string

Since:
  • 3.0.0
该游戏对象的文本表示,即. `sprite` . 由Phaser内部使用,但可用于您自己的自定义类来填充.
Type:
  • string

Methods

addedToScene()

Since:
  • 3.50.0
当这个游戏对象被添加到场景中时,这个回调被调用. 可以被自定义游戏对象覆盖,但是要注意一些 将使用这个,例如精灵,将自己添加到更新列表中. 您还可以从这个游戏对象中收听`ADDED_TO_SCENE`事件.

addListener(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

addToDisplayList(displayListopt) → {this}

Since:
  • 3.53.0
将此游戏对象添加到给定的显示列表中. 如果未指定显示列表,它将默认为场景所拥有的显示列表 这个游戏物体属于. 在任何给定时间,游戏对象只能存在于一个显示列表中,但可以在它们之间自由移动. 如果此游戏对象在调用此方法时已经在另一个显示列表上,它将首先 在添加到新列表之前,从列表中删除. 您可以通过查看 `zPhaser.GameObjects.GameObject # DisplayList` 属性来查询它在哪个列表上. 如果游戏对象不在任何显示列表中,它将不会被渲染.如果你只是想暂时 请考虑使用 `setVisible` 方法来禁用它.
Parameters:
Name Type Attributes Description
displayList Phaser.GameObjects.DisplayList | Phaser.GameObjects.Layer <optional>
要添加到的显示列表.默认为场景显示列表.
Fires:
Returns:
这个游戏对象.
Type
this

addToUpdateList() → {this}

Since:
  • 3.53.0
将此游戏对象添加到属于场景的更新列表中. 当一个游戏对象被添加到更新列表中时,它的`preUpdate`方法将被调用 每一个游戏画面.这个方法被传递了两个参数: `delta` 和 `time` . 如果你想运行自己的逻辑,那么你应该随时调用 `preUpdate.super(delta,time)` 在其中,或者它可能无法处理所需的操作, 比如雪碧动画.
Returns:
这个游戏对象.
Type
this

destroy()

Since:
  • 3.0.0
Overrides:
销毁此游戏对象,将其从显示列表和更新列表中删除 切断与父资源的所有联系. 如果之前启用了输入管理器和物理管理器,也会将其从输入管理器和物理管理器中移除. 如果您不打算再次使用游戏对象,请使用此选项将其从游戏中移除. 只要您自己的代码中不存在对它的引用,它就应该是免费的 浏览器垃圾收集. 如果您只想暂时禁用一个对象,那么可以考虑使用 游戏对象池,而不是摧毁它,因为被摧毁的对象不能复活.
Fires:

disableInteractive() → {this}

Since:
  • 3.7.0
如果此游戏对象之前已被启用输入,这将禁用它. 禁止输入的对象停止处理或被考虑 输入事件,但只需调用 `setInteractive()`未提供参数. 如果你想完全删除这个游戏对象的交互,那么就用`removeInteractive`来代替.
Returns:
这个GameObject.
Type
this

emit(event, …argsopt) → {boolean}

Since:
  • 3.0.0
Inherited From:
调用为给定事件注册的每个侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
args * <optional>
<repeatable>
将传递给事件处理程序的附加参数.
Returns:
`true` 如果事件有侦听器,则为 `false` .
Type
boolean

eventNames() → {Array.<(string|symbol)>}

Since:
  • 3.0.0
Inherited From:
返回一个数组,列出发射器已注册侦听器的事件.
Returns:
Type
Array.<(string|symbol)>

getData(key) → {*}

Since:
  • 3.0.0
在此游戏对象数据管理器中检索给定键的值,如果不存在,则为未定义. 您也可以通过 `values` 对象访问值.例如,如果您有一把名为 `gold` 的钥匙,您可以选择: ```javascript sprite.getData('gold'); ``` 或者直接访问该值: ```javascript sprite.data.values.gold; ``` 您还可以传入一个键数组,在这种情况下,将返回一个值数组: ```javascript sprite.getData([ 'gold', 'armor', 'health' ]); ``` 这种方法对于在ES6中析构数组很有用.
Parameters:
Name Type Description
key string | Array.<string> 要检索的值的键或键数组.
Returns:
属于给定键或值数组的值,其顺序将与输入数组匹配.
Type
*

getIndexList() → {Array.<number>}

Since:
  • 3.4.0
返回一个数组,该数组包含此游戏对象的显示列表索引,如果有, 它的父容器.然后,它遍历所有父容器,直到遇到 显示列表的根(在返回的数组中是索引0). 由InputPlugin内部使用,但如果您希望了解的显示深度,也很有用 这个游戏物体和它的所有祖先.
Returns:
显示列表位置索引的数组.
Type
Array.<number>

incData(key, dataopt) → {this}

Since:
  • 3.23.0
在游戏对象数据管理器中增加给定键的值.如果密钥在数据管理器中不存在,则从0开始增加. 如果游戏对象没有为数据启用(通过 `setDataEnabled` ),那么它将被启用 在设置值之前. 如果密钥在数据管理器中不存在,则创建它. 首次设置该值时,将从该游戏对象发出一个 `setdata` 事件.
Parameters:
Name Type Attributes Description
key string | object 增加价值的关键.
data * <optional>
给定键要增加的值.
Returns:
这个GameObject.
Type
this

listenerCount(event) → {number}

Since:
  • 3.0.0
Inherited From:
返回监听给定事件的侦听器数量.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
侦听器的数量.
Type
number

listeners(event) → {Array.<function()>}

Since:
  • 3.0.0
Inherited From:
返回为给定事件注册的侦听器.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
注册的听众.
Type
Array.<function()>

off(event, fnopt, contextopt, onceopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除给定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
fn function <optional>
仅移除与此函数匹配的侦听器.
context * <optional>
仅移除具有此上下文的侦听器.
once boolean <optional>
仅删除一次性侦听器.
Returns:
`this`.
Type
this

on(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

once(event, fn, contextopt) → {this}