VRエンジン作成日記

ひたすらVRエンジンを作っていきます

Scriptを動的にロードできるようにした

Scriptを動的にロードできるようにした。簡単なJavaScriptファイルならドラッグで追加できるようになった。例えば次のようなファイルをオブジェクトにドラッグすると、X軸を中心に毎フレーム3度ずつ回転するようになる。

class Test {
    update() {
        this.rotate(3, 0, 0);
    }
}

最近のJavaScriptは構文にclass宣言が追加されたため、これはTypeScriptのコンパイラ等を通さなくてもJavaScriptとして実行できる。このままだとTea.jsのライブラリ内でコンポーネントとして認識されないため、ロード時にObject.setPrototypeOf()メソッドを使って、Tea.Scriptクラスから継承したかのように実装している。

・関連するコミット

add dynamic load script · hikipuro/tea.js@2b74f70 · GitHub