2

私はキャンバス 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.

ご感想ありがとうございます!

4

1 に答える 1