问题描述
如何使用WAST键在Forge Viewer中控制相机?
我已经尝试过类似的事情。
viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'));
viewer.start();
addEventListener("keydown",function(event) {
if (event.keyCode === 87) {
console.log("W pressed")
camera = viewer.getCamera()
camera.translateZ(50)
viewer.applyCamera(camera)
}
});
解决方法
您错过了EventListener对象,应该是:
- 打字稿:
document.addEventListener('keyup',(event)=>{});
- javascript:
$(document).bind('keyup',(event)=>{});
,
对于按键事件,我建议您对HotKeyManger进行一些试验。 这样的事情应该起作用:
const hotkeys = [{
keycodes: [
Autodesk.Viewing.KeyCode.w
],onRelease: (e) => console.log("Just pressed the W")
},{
keycodes: [
Autodesk.Viewing.KeyCode.s
],onRelease: (e) => console.log("Just pressed the S")
},{
keycodes: [
Autodesk.Viewing.KeyCode.a
],onRelease: (e) => console.log("Just pressed the A")
},{
keycodes: [
Autodesk.Viewing.KeyCode.d
],onRelease: (e) => console.log("Just pressed the D")
}];
let manager = this.viewer.getHotkeyManager()
manager.pushHotkeys("HZ",hotkeys)
顾名思义,它适用于热键,但也适用于单键。