我使用three.js所的JS項目,我想如果計算矢量仍處於的區域等這樣使用Javascript - 沒有操作符重載生成表情
var THRESHOLD = 10;
if(!is_in_rect(camera.position - forward * THRESHOLD)))
// do something
其中camera.position和foward是THREE.Vector3對象。
與上述方法的問題,雖然可讀性很強,是它不工作,因爲JS不支持運算符重載。我得寫點類似
if(!in_rect(camera.position.clone().add(forward.clone().multiplyScalar(THRESHOLD)))
這對我來說看起來有點醜。
是否有JS這樣做我失蹤的任何其他習慣的方法?
你可以做的是將一個字符串傳遞給函數is_in_rect(),並將字符串分解爲你看起來很醜的語法。有點像你可以傳遞字符串到PHP的日期。一些工作只爲可讀性,但如果它變得複雜,也許這是值得的 – Kaddath
有點像https://www.sweetjs.org/可能會幫助你 – Bergi
不能用* valueOf *爲此? –