Skip to content

🏠游戏实体

  • GameEntity 是控制游戏中的游戏对象,用于对物体、玩家等的控制。

typescript
declare class GameEntity {
    //...
}

属性

  • isPlayer : 实体是否为玩家。
  • player : 索引与玩家相关的全部状态和方法
  • mesh : 实体形状数据(mesh)的hash
  • position : 实体的位置
  • meshOrientation : 实体的旋转角度
  • meshScale : 实体的缩放比例
  • meshColor : 实体的颜色
  • meshInvisible : 控制实体隐形
  • meshEmissive : 实体的发光度
  • meshMetalness : 实体的金属感
  • meshShininess : 实体的反光度
  • meshOffset : 实体的位移
  • showEntityName : 是否展示实体的默认名称
  • customName : 自定义需要展示的名称
  • nameRadius : 名称展示范围,数值越小,则需要靠近实体才会出现名称
  • nameColor : 进入实体名称展示范围时,实体名称的颜色
  • motion : 索引与模型动作相关的全部状态和方法
  • bounds : 实体边界框的半径
  • collides : 实体是否碰撞
  • fixed : 实体是否移动
  • meshScale : 实体的缩放比例
  • friction : 控制实体的粘性(0 = 滑,1 = 粘)
  • gravity : 实体是否下落
  • mass : 实体物理质量
  • restitution : 控制实体的弹性(0 = 软, 1 = 弹)
  • velocity : 实体的速度
  • contactForce : 实体受到的碰撞力
  • entityContacts : 返回正在和玩家/实体发生碰撞的全部实体列表
  • voxelContacts : 返回正在和玩家/实体发生碰撞的全部方块列表
  • fluidContacts : 返回正在被玩家/实体触碰的全部液体方块列表
  • chatSound : 当实体说话时,播放聊天音效。通过say()触发
  • hurtSound : 当实体触发受伤事件时,播放受伤音效。通过onTakeDamage()触发
  • dieSound : 当实体触发死亡事件时,播放死亡音效。通过onDie()触发
  • interactSound : 当实体进行互动时,播放互动音效。此音效仅互动的玩家可听见。通过onInteract()触发
  • particleRate : 实体平均每秒产生粒子的数量
  • particleRateSpread : 如果设定了该属性的值,实体每一秒产生粒子的数量将不再是个固定值
  • particleLimit : 实体可产生的粒子总数的上限
  • particleLifetime : 粒子的存活时间,以秒为单位
  • particleLifetimeSpread : 如果设定了该属性的值,粒子的存活时间将不再是固定值,
  • particleSize : 该属性的值可以是一个长度为0至5的数组。每个粒子的存活时间被平均分为五个阶段
  • particleSizeSpread : 如果设定了该属性,但没设定 particleSize 的值,每产生一个粒子,会从区间[0, particleSizeSpread)里选取的一个随机数作为它的大小
  • particleColor : 类似 particleSize,该属性的值可以是一个长度为0至5的数组,数组里的每个值分别指定了粒子在各个阶段的颜色
  • particleVelocity : 该实体产生的所有粒子的初始速度
  • particleVelocitySpread : 增加该实体产生的所有粒子初始速度的不确定性
  • particleDamping : 如果该属性的值为正数,会短暂减少该实体所产生粒子的初始速度,数值越大,减少初始速度的效果持续得越久
  • particleAcceleration : 该实体所产生粒子的加速度
  • particleNoise : 指定粒子相对于之前运动方向的最大偏离值,数值越大,各个粒子的运动相对原有方向的偏离越明显
  • particleNoiseFrequency : 指定粒子改变运动方向的频率,数值越大,各个粒子的运动方向越没有规律
  • id : 已在编辑器中添加的实体名称
  • enableInteract : 是否允许实体进行互动
  • interactRadiu : 实体互动范围。数值越小,则需要靠近实体才会出现互动提示
  • interactHint : 进入实体互动范围时,实体身上出现的提示文本
  • interactColor : 进入实体互动范围时,提示文本的颜色
  • destroyed : 实体是否销毁
  • enableDamage : 实体是否显示可以进行伤害
  • showHealthBar : 实体是否显示生命值HP
  • hp : 实体的当前生命值hp
  • maxHp : 实体的最大生命值hp

方法

  • lookAt : 将实体旋转至面向指定位置的方向。
  • animate : 创建一个关键帧动画
  • getAnimations : 获取实体的所有已创建的动画
  • sound : 在实体所在的位置播放声音
  • addTag : 为实体添加一个新标签
  • hasTag : 判断实体是否带有某个标签
  • removeTag : 从实体移除标签
  • tags : 获取编辑器中给实体添加的全部标签
  • say : 让实体说话
  • destroy : 销毁实体
  • hurt : 对实体的伤害数值

监听方法

接口