THREE.jsで実行中のブラウザ内パーティクルエンジンがあります。私はアニメーション機能を追加したいので、粒子エミッタの位置やその他の情報を更新する "アニメーション"機能から呼び出されるコードを含むテキスト入力があります。 https://i.imgur.com/vguWZAq.jpg テキスト入力からJavaScript関数を評価する方法
function animate() {
time = Date.now();
runCustomAnimateScript();
for(var i = 0; i < emitters.length; i++){
emitters[i].updateParticles(deltaTime);
}
render();
requestAnimationFrame(animate);
}
function runCustomAnimateScript(){
//Filled from text input after updateCustomAnimateScript is called
//Called from within animate (which is run every frame)
}
function updateCustomAnimateScript(){
//Parse document.querySelectorAll("textarea[name='customAnimateScript']").value
//into a script, and enter it into runCustomAnimateScript
}
現在、私は実行可能なJavaScript関数には、このテキスト入力を有効にする方法はありません。私は誰もこれを前にやろうとしたことはないと思っています。
*私は誰もこれをやろうとしていないことに驚いています*それは実際には[jsfiddle](https://jsfiddle.net/)のすべてです。問題は、このようなコードを実行することは、特にメッセージボードの署名をJavaScriptとして評価した場合など、他のユーザーからのコードを評価するたびに、やや危険です。ユーザーが提供するコードだけを実行するようにしてください。 – zero298