界面
控制
new Controller()
实例化控制模块
返回:
- 实例化Controller对象
详情:
实例化Controller组件不需要传参,实例化后可以提供很多控制类的方法,比如显示帧数、隐藏帧数、显示指南针、隐藏指南针等。
示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' } )
const controller = new kapi.Controller()
console.log(controller)
enableLightShow()
启用灯光效果。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 开启灯光效果后的反馈信息
详情:
场景中需要显示光流、灯光效果,调用该方法可以快速打开该特效,效果需要定制开发。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const lightShow = await controller.enableLightShow()
console.log(lightShow)
disableLightShow()
禁用灯光效果。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 禁用灯光效果后的反馈信息
详情:
场景中需要关闭光流、灯光效果,调用该方法可以关闭该特效。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const lightShow = await controller.enableLightShow()
console.log(lightShow)
// 10秒后关闭灯光效果
setTimeout(async e => {
const disableLightShow = await controller.disableLightShow()
console.log(disableLightShow)
}, 10 * 1000)
enableBoxSide()
开启操作边界限制。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 开启操作边界限制后的反馈信息
详情:
场景中需要控制场景操作范围,开启操作边界限制,可以达到这个效果。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const boxSide = await controller.enableBoxSide()
console.log(boxSide)
disableBoxSide()
关闭操作边界限制。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 关闭操作边界限制后的反馈信息
详情:
场景中需要解除场景操作的范围,禁用操作边界限制,可以达到这个效果。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const boxSide = await controller.enableBoxSide()
console.log(boxSide)
// 10秒后禁用边界限制效果
setTimeout(async e => {
const disableBoxSide = await controller.disableBoxSide()
console.log(disableBoxSide)
}, 10 * 1000)
enableMouseInput()
启用鼠标输入操作。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 启用鼠标输入操作后的反馈信息
详情:
场景中需要使用鼠标操作场景(默认鼠标为启用状态),当鼠标被禁用时,可以调用该方法启用鼠标。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const mouseInput = await controller.enableMouseInput()
console.log(mouseInput)
disableMouseInput()
禁用鼠标输入操作。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 禁用鼠标输入操作后的反馈信息
详情:
场景中当场景不希望被鼠标操作时,可以调用该方法禁用鼠标。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const mouseInput = await controller.enableMouseInput()
console.log(mouseInput)
// 10秒后禁用鼠标操作
setTimeout(async e => {
const disableMouseInput = await controller.disableMouseInput()
console.log(disableMouseInput)
}, 10 * 1000)
showCompass()
显示指南针。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 显示指南针后的反馈信息
详情:
场景中需要显示指南针小部件时,可以调用该方法加载指南针。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const compass = await controller.showCompass()
console.log(compass)
hideCompass()
显示指南针。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 显示指南针后的反馈信息
详情:
场景中需要显示指南针小部件时,可以调用该方法加载指南针。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const compass = await controller.showCompass()
console.log(compass)
// 10秒后隐藏指南针
setTimeout(async e => {
const disableCompass = await controller.hideCompass()
console.log(disableCompass)
}, 10 * 1000)
setSkyColorParam()
设置天空球颜色。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 显示指南针后的反馈信息
详情:
场景中需要显示指南针小部件时,可以调用该方法加载指南针。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const compass = await controller.showCompass()
console.log(compass)
setWeatherType()
设置天气。
参数:
{String} type 天气的标识码
{Boolean} sync 是否要与其他客户端同步状态
type参数如下表
枚举参数 | 使用 | 天气描述 |
---|---|---|
CLEAR_SKIES | KAPI_CONST.WEATHER.CLEAR_SKIES | 晴天 |
PARTLY_CLOUDY | KAPI_CONST.WEATHER.PARTLY_CLOUDY | 少云 |
CLOUDY | KAPI_CONST.WEATHER.CLOUDY | 多云 |
OVERCAST | KAPI_CONST.WEATHER.OVERCAST | 阴天 |
FOGGY | KAPI_CONST.WEATHER.FOGGY | 雾天 |
LIGHT_RAIN | KAPI_CONST.WEATHER.LIGHT_RAIN | 小雨 |
RAIN | KAPI_CONST.WEATHER.RAIN | 中雨 |
THUNDERSTORM | KAPI_CONST.WEATHER.THUNDERSTORM | 暴风雨 |
SAND_DUST | KAPI_CONST.WEATHER.SAND_DUST | 沙尘 |
SANDSTORM | KAPI_CONST.WEATHER.SANDSTORM | 沙尘暴 |
LIGHT_SNOW | KAPI_CONST.WEATHER.LIGHT_SNOW | 小雪 |
SNOW | KAPI_CONST.WEATHER.SNOW | 中雪 |
BLIZZARD | KAPI_CONST.WEATHER.BLIZZARD | 暴风雪 |
返回:
- 设置天气后的反馈信息
详情:
在场景中模拟天气效果。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
// 暴风雨
const ts = await controller.setWeatherType(KAPI_CONST.WEATHER.THUNDERSTORM)
console.log(ts)
- 参考 各类天气详细使用参考KAPI_CONST.WEATHER
setRealWorldTime()
设置真实世界时间。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 设置真实世界时间后的反馈信息
详情:
场景中需要按照真实世界时间进行模拟展示,可以调用该方法。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const realWorldTime = await controller.setRealWorldTime()
console.log(realWorldTime)
setDateTime()
设置时间。
参数:
{string | Date | DateTime} dateTime 时间字符串、时间对象或时间戳
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 设置时间后的反馈信息
详情:
场景中需要直接显示某一时刻得世界样子的模拟展示,可以调用该方法。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const dateTime = new Date()
const time = await controller.setDateTime(dateTime)
console.log(time)
setTimeSimulate()
时间动态模拟。
参数:
{Object} option 是否要与其他客户端同步状态
{Boolean} sync 是否要与其他客户端同步状态
option参数如下表
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
status | number | 必选 | 设置时间循环状态(0-开始、1-停止、2-结束) |
startTime | int | 必选 | 设置开始时间,整数,单位小时 |
period | int | 必选 | 周期,单位秒,默认86400(循环时间为24小时) |
loop | boolean | 必选 | 是否循环播放 |
返回:
- 时间动态模拟后的反馈信息
详情:
场景中需要以时间流动的形式动态模拟世界样子,可以调用该方法。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const dateTime = new Date()
const time = await controller.setTimeSimulate(dateTime)
console.log(time)
enableFPS()
启用FPS。
参数:
{Number} time 是否要与其他客户端同步状态
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 启用FPS后的返回信息
详情:
启用显示帧数,配合 addFPSEventListener
事件监听,当启用时,该监听可以返回值,当禁用时,该监听不再返回值。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const fps = await controller.enableFPS(2)
console.log(fps)
disableFPS()
禁用FPS。
参数:
{Boolean} sync 是否要与其他客户端同步状态
返回:
- 禁用FPS后的返回信息
详情:
禁用显示帧数,配合 addFPSEventListener
事件监听,当启用时,该监听可以返回值,当禁用时,该监听不再返回值。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const fps = await controller.disableFPS()
console.log(fps)
FPSEventListener
添加FPS事件监听
返回:
- 监听FPS后的帧数值,只要启用就一直返回,禁用后停止
详情:
添加 FPSEventListener
事件监听,使用enableFPS
时,该监听可以返回值,当使用disableFPS
时,该监听不再返回值。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const event = new kapi.Event()
event.addEventListener(KAPI_CONST.EVENT.FPS, fps => {
console.log(fps)
})
// 1.启用
const fps = await controller.enableFPS()
console.log(fps)
// 10秒后,禁用FPS
setTimeout(async e => {
const fps = await controller.disableFPS()
console.log(fps)
}, 10 * 1000)
移除FPS事件监听
返回:
- 移除监听FPS后的帧数值设置
详情:
移除 FPSEventListener
事件监听,使用enableFPS
时,该监听可以返回值,当使用disableFPS
时,该监听不再返回值。
- 示例:
js
import KAPI from '@ibrucekong/kapi'
const kapi = await KAPI.build('Your Auth Token')
const scene = new kapi.Scene('kapi-container', { server: 'Your Service URL' })
const readyState = await scene.ready()
if (readyState.code !== 200) return
const event = new kapi.Event()
addEventListener(KAPI_CONST.EVENT.FPS, fps => {
console.log(fps)
})
// 1.启用
const fps = await controller.enableFPS()
console.log(fps)
// 10秒后,移除FPS监听
setTimeout(async e => {
event.removeEventListener(KAPI_CONST.EVENT.FPS)
}, 10 * 1000)