我正在开发一个WebGL应用程序。例如,我有一个球体对象,它使用轨道控制进行放大/缩小。
现在我想为鼠标滚轮设置一个事件。当放大我当前的WebGL块对应的地图位置时,它可以放大/缩小(用于内联块)以用于地图和WebGL。但问题是,当我使用鼠标滚轮时,首先触发了我的事件。我也想知道我的事件逻辑是否正确。
root.addEventListener('mousewheel', mousewheel, false);
function mousewheel(event) {
var mX = (event.wheeldetailX/width)* 2 - 1;
var mY = (event.wheeldetailY/height)* 2 + 1;
var WebGLZoom = new THREE.Vector3(mX, mY, 1);
var raycaster = new THREE.Raycaster();
raycaster.setFromCamera(WebGLZoom, camera);
WebGLZoom.sub(camera.position);
var mapzoom = map.getZoom();
if (WebGLZoom.z <= 5 && WebGLZoom.z > 2) {
map.setZoom(17);
} else if (WebGLZoom.z <= 2 && WebGLZoom.z > 0.0) {
map.setZoom(19);
} else {
map.setZoom(14);
}
}
答案 0 :(得分:1)
您可以像这样使用Caused by: java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined!
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:10093)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:5693)
at org.hibernate.result.internal.OutputsImpl.<init>(OutputsImpl.java:69)
... 72 more
事件。
wheel
每次鼠标滚轮在文档上滚动时,都会生成控制台日志。 document.addEventListener('wheel', function(event){
console.log(event.deltaY);
}, false);
事件的deltaX
和deltaY
属性对于确切了解用户滚动的数量以及向哪个方向特别有用。
答案 1 :(得分:0)