フロントエンドに angularJS と Three.js を使用しています。
次のような three.js オブジェクトを作成しました。
var ThreeObject = (function() {
//constructor
function ThreeObject() {}
ThreeObject.prototype.init = functio init (){
//init scene,renderer,....
};
ThreeObject.prototype.update = function update(){
//update various objects attatched to scene
};
ThreeObject.prototype.draw = function draw(){
this.renderer.render(this.scene,this.camera);
};
return ThreeObject;
})();
私のAngular Controllerで私は呼んでいます:
app.controller('Controller', ['$scope', '$http', function($scope,$http) {
var foo = new ThreeObject(800,600);
foo.init(document.getElementById('container'));
function loop() {
foo.update();
foo.draw();
requestAnimationFrame(loop);
};
requestAnimationFrame(loop);
}]);
angular は MVC を促進するため、私の最初の対応は、three.js のすべての動作をモデルにカプセル化することでした。これが正しいアプローチであるかどうか、私があなたに確信が持てないのは何ですか?
ループを処理するディレクティブを作成した方がよいでしょうか? これは、私が使用しているアプローチに利点がありますか?