let Sphere = BABYLON.MeshBuilder.CreateSphere("Sphere", { diameter: 1 }, this.scene)
创建Sphere这个Mesh
// 添加事件
Sphere.actionManager = new BABYLON.ActionManager(this.scene)
// 点击
Sphere.actionManager.registerAction(
new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger, event => {
console.log("Sphere clicked! LeftClick")
})
)
// 左击
Sphere.actionManager.registerAction(
new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLeftPickTrigger, event => {
console.log("Sphere clicked! LeftClick")
})
)
// 右击
item.actionManager.registerAction(
new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnRightPickTrigger, event => {
console.log("Sphere clicked! RightClick")
})
)
// 移动进去
Sphere.actionManager.registerAction(
new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger, event => {
console.log("Sphere hover! go in")
})
)
// 移动出来
Sphere.actionManager.registerAction(
new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger, event => {
console.log("Sphere hover! come out")
})
)
BABYLON.ActionManager的类型共有:
NothingTrigger:永不触发。用于 action.then
函数的子操作。
OnPickTrigger:当用户触摸/点击一个网格时触发。
OnDoublePickTrigger:当用户在一个网格上双击/双击时触发。
OnPickDownTrigger:当用户在一个网格上按下/点击时触发。
OnPickUpTrigger:当用户在一个网格上抬起/点击时触发。
OnPickOutTrigger:当用户在一个网格上按下/点击,然后移开网格时触发。
OnLeftPickTrigger:当用户用左键触摸/点击一个网格时触发。
OnRightPickTrigger:当用户用右键触摸/点击一个网格时触发。
OnCenterPickTrigger:当用户用中键触摸/点击一个网格时触发。
OnLongPressTrigger:当用户在一个网格上长时间按下/点击(以毫秒为单位,由 BABYLON.Scene.LongPressDelay
定义)时触发。
OnEveryFrameTrigger:每一帧都会触发。
OnIntersectionEnterTrigger:当进入交叉区域时触发。
OnIntersectionExitTrigger:当离开交叉区域时触发。