Class: NPCLayerManager
阿凡达NPC图层管理类
Details
添加NPC对象,获取所有图层,删除指定图层等
Hierarchy
Callable
↳
NPCLayerManager
Methods
addNPC
▸ addNPC(NPCInfo
, layerName
): Promise
<NPCObject
>
Details
添加一个阿凡达NPC
Examples
js
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
await nPCLayerManager.addNPC(info, 'dms_1')
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
await nPCLayerManager.addNPC(info, 'dms_1')
Parameters
Name | Type | Description |
---|---|---|
NPCInfo | NPCObjectInfo | NPC对象信息 |
layerName | null | string | 图层名字 |
Returns
Promise
<NPCObject
>
NPCObject NPC对象
getAllLayer
▸ getAllLayer(): Promise
<NPCLayer
[]>
Details
获取所有图层
Examples
js
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
Returns
Promise
<NPCLayer
[]>
图层对象数组
removeLayer
▸ removeLayer(layerArray
): Promise
<boolean
>
Details
批量删除图层
Examples
js
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
const e = await nPCLayerManager.removeLayer(ret)
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
const e = await nPCLayerManager.removeLayer(ret)
Parameters
Name | Type | Description |
---|---|---|
layerArray | NPCLayer [] | 阿凡达NPC图层数组 |
Returns
Promise
<boolean
>
boolean 是否成功
setDbClickCallback
▸ setDbClickCallback(fn
): void
Details
设置双击NPC的回调函数
Examples
调用示例:
js
function pickNPC(npc: NPCObject | null) {
console.log(npc)
}
let nPCLayerManager = await cloud.getNPCLayerManager()
await nPCLayerManager.setDbClickCallback(pickNPC)
function pickNPC(npc: NPCObject | null) {
console.log(npc)
}
let nPCLayerManager = await cloud.getNPCLayerManager()
await nPCLayerManager.setDbClickCallback(pickNPC)
Parameters
Name | Type |
---|---|
fn | (npc : null | NPCObject ) => void |
Returns
void
setAvatarNPCPosByMouse
▸ setAvatarNPCPosByMouse(npcObj
): Promise
<any
>
Details
设置某个npc对象的位置随鼠标移动
Examples
js
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
let npcObj = await nPCLayerManager.addNPC(info, 'dms_1')
await nPCLayerManager.setAvatarNPCPosByMouse(npcObj)
let nPCLayerManager = await cloud.getNPCLayerManager() //获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
let npcObj = await nPCLayerManager.addNPC(info, 'dms_1')
await nPCLayerManager.setAvatarNPCPosByMouse(npcObj)
Parameters
Name | Type | Description |
---|---|---|
npcObj | NPCObject | NPCObject对象 |
Returns
Promise
<any
>