私はキャンバス API を学んでおり、そうするために単純な物理エンジンを作りたいと思っています。今年の夏に Backbone.js で作業した後、JS でのオブジェクト指向アプローチに触発されました。
解決すべき問題を知っているので、解決策を提案しますが、この問題を解決するためのより良い方法があると思われる場合は、そう言ってください.
// Obj is a general object that can be basically anything. (Ball, rock, ground plane)
var Obj = Extendable.extend(
position : [0, 0], // Coordinates
velocity : [0, 0], // Vector,
acceleration : [0, 0], // Vector
shape : (Shape)
);
var Ball = Obj.extend(
shape : (Shape)
);
var ball1 = new Ball();
var ball2 = new Ball(initializer);
目標は、呼び出す前に何度でも拡張できるようにすることですnew Object();
。複数の継承も可能であれば、それは素晴らしいことです。
今、私はこれを思いついた:
var Extendable = {
extend : function(methods) {
var f = function() {
if (this.init) this.init.apply(arguments);
};
f.prototype = Object.create(_.extend({}, this.prototype, methods));
f.extend = this.extend;
return f;
}
};
//The problem is that this only allows the use of .extend() one time...
EDIT: Now half way working.
ご感想ありがとうございます!