Skip to content

地图区域

方法

addZone()

创建一个区域,用于检测实体进入或离开某个区域。 也可以用来设置环境参数,如雾、雨、天、雪、风、重力等定义区域内的环境参数。

输入参数

参数必填默认值类型说明
configPartial‹GameZoneConfig›指定区域的一组初始参数值

返回值

类型说明
GameZone区域对象

定义于 #L9893

点击查看示例代码
javascript
// 添加检测玩家进入或离开 x:48-64, y:8-20, z: 50-72 的区域
const area = world.addZone({
  selector: 'player',
  bounds: {
    lo: [48,  8, 50],
    hi: [64, 20, 72],
  },
})

// 有玩家进入区域
area.onEnter(({ entity }) => {

});

// 有玩家离开区域
area.onLeave(({ entity }) => {

});

removeZone()

删除指定区域

输入参数

参数必填默认值类型说明
triggerGameZone要删除的区域

定义于 #L9894

点击查看示例代码
javascript
// 添加检测玩家进入或离开 x:0-64, y:0-20, z: 0-64 的区域
const area = world.addZone({
  selector: 'player',
  bounds: {
    lo: [40,  8, 40],
    hi: [72, 20, 72],
  },
})

// 删除区域'area'
world.removeZone(area);

zones()

返回所有的区域列表

返回值

类型说明
GameZone[]所有的区域

定义于 #L9892

点击查看示例代码
javascript
// 删除世界中所有区域
const allZones = world.zones();
allZones.forEach((zone) => { 
  world.removeZone(zone);
})

接口

GameZoneConfig

用于区域的参数

参数类型说明
boundsGameBounds3区域的所指定的检测区域
selectorGameSelectorString触发区域事件的实体搜索条件
forceGameVector3对实体施加的力的大小
massScalenumber控制实体的质量对力的影响程度。 0 = 像重力一样; 1 = 像风一样
fogColorGameRGBColor雾的颜色
fogDensitynumber雾均匀密度
fogEnabledboolean雾是否开启
fogHeightFalloffnumber雾起始高度
fogHeightOffsetnumber雾衰减的速率
fogMaxnumber最大雾量
fogStartDistancenumber雾起始距离
rainColorGameRGBAColor雨的颜色
rainDensitynumber雨的密度。密度越大,雨滴越多。
rainDirectionGameVector3雨的方向
rainEnabledboolean雨是否开启
rainInterferencenumber雨的扰动幅度
rainSizeHinumber雨滴的最大直径
rainSizeLonumber雨滴的最小直径
rainSpeednumber雨的速度
skyBackLightGameRGBColor环境光在+Z轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyBottomLightGameRGBColor环境光在-Y轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyEnabledboolean环境参数是否有效
skyFrontLightGameRGBColor环境光在-Z轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyLeftLightGameRGBColor环境光在-X轴方向的亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyLunarPhasenumber月亮的相位,数值在0和1之间。若大于0.5时,为上弦月。
skyMode"natural" | "manual"作用于天空和环境光的照明类型。目前有提供2种光照模式,'manual'(自定义)或'natural'(动态)。默认为 'natural'。
skyRightLightGameRGBColor环境光在+X轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skySunDirectionGameVector3太阳光照明方向。仅在光照模式为manual自定义模式时生效。
skySunFrequencynumber太阳运动的频率,数值越大,昼夜交替越快。
skySunLightGameRGBColor太阳光颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skySunPhasenumber太阳从升起至落下,在天空的位置。
skyTopLightGameRGBColor环境光在+Y轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
snowColorGameRGBAColor雪花颜色
snowDensitynumber雪的密度。密度越大,雪花越多。
snowEnabledboolean雪是否开启
snowFallSpeednumber雪花下落速度。如果小于0,则反向运动。
snowSizeHinumber雪花最大直径
snowSizeLonumber雪花最小直径
snowSpinSpeednumber雪花自旋速度
snowTexturestring雪花纹理

定义于 #L9481


GameZone

用于区域的配置

参数类型说明
entitiesGameEntity列出在指定区域内的所有实体
remove()=>void删除该区域
onEnter(handler:(event:GameTriggerEvent)=>void): GameEventHandlerToken当玩家进入该区域时触发
onLeave(handler:(event:GameTriggerEvent)=>void): GameEventHandlerToken当玩家离开该区域时触发
boundsGameBounds3区域的所指定的检测区域
selectorGameSelectorString触发区域事件的实体搜索条件
forceGameVector3对实体施加的力的大小
massScalenumber控制实体的质量对力的影响程度。 0 = 像重力一样; 1 = 像风一样
fogColorGameRGBColor雾的颜色
fogDensitynumber雾均匀密度
fogEnabledboolean雾是否开启
fogHeightFalloffnumber雾起始高度
fogHeightOffsetnumber雾衰减的速率
fogMaxnumber最大雾量
fogStartDistancenumber雾起始距离
rainColorGameRGBAColor雨的颜色
rainDensitynumber雨的密度。密度越大,雨滴越多。
rainDirectionGameVector3雨的方向
rainEnabledboolean雨是否开启
rainInterferencenumber雨的扰动幅度
rainSizeHinumber雨滴的最大直径
rainSizeLonumber雨滴的最小直径
rainSpeednumber雨的速度
skyBackLightGameRGBColor环境光在+Z轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyBottomLightGameRGBColor环境光在-Y轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyEnabledboolean环境参数是否有效
skyFrontLightGameRGBColor环境光在-Z轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyLeftLightGameRGBColor环境光在-X轴方向的亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skyLunarPhasenumber月亮的相位,数值在0和1之间。若大于0.5时,为上弦月。
skyMode"natural" | "manual"作用于天空和环境光的照明类型。目前有提供2种光照模式,'manual'(自定义)或'natural'(动态)。默认为 'natural'。
skyRightLightGameRGBColor环境光在+X轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skySunDirectionGameVector3太阳光照明方向。仅在光照模式为manual自定义模式时生效。
skySunFrequencynumber太阳运动的频率,数值越大,昼夜交替越快。
skySunLightGameRGBColor太阳光颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
skySunPhasenumber太阳从升起至落下,在天空的位置。
skyTopLightGameRGBColor环境光在+Y轴方向的颜色亮度。仅在光照模式为manual自定义模式时生效。颜色值大于0时,颜色越亮。
snowColorGameRGBAColor雪花颜色
snowDensitynumber雪的密度。密度越大,雪花越多。
snowEnabledboolean雪是否开启
snowFallSpeednumber雪花下落速度。如果小于0,则反向运动。
snowSizeHinumber雪花最大直径
snowSizeLonumber雪花最小直径
snowSpinSpeednumber雪花自旋速度
snowTexturestring雪花纹理

定义于 #L9384


GameTriggerEvent

当实体/玩家触发区域的事件

参数类型说明
entityGameEntity触发事件的实体
ticknumber触发事件的时间

定义于 #12526