アニメーションをサポートするために、単純なjavascript / html5キャンバスエンジンを作成しようとしています(これは主に学習目的です)。
エンジン:
/* BOF GLOBAL REFERENCES*/
var BM = BM || {};
/* EOF GLOBAL REFERENCES */
/* BOF GLOBAL VARIABLES */
/* EOF GLOBAL VARIABLES */
/* BOF FUNCTIONS */
BM.World = function(container,width,height,name){
this.container = $("#"+container);
this.width = width;
this.height = height;
this.name = name || "DefaultWorld";
this.layers = new Array();
}
BM.World.prototype.Layer = function(options){
var options = options || {};
options.bgcolor = options.bgcolor || "transparent";
this.container.html( "<canvas id='"+this.name+"_layer_"+this.layers.length+"' style='position:absolute;top:0;left:0;width:"+this.width+";height:"+this.height+";background:"+options.bgcolor+";'>"
+"</canvas>");
}
/* EOF FUNCTIONS */
そして、単純な発信者コード:
$(function(){
var World = new BM.World("background_container",400,600);
var layer1 = new World.Layer({bgcolor:"#ff0000"});
});
Layer
誰かが私が定義で間違っていることを教えてもらえますか?私が得るエラーは次のとおりです。Uncaught TypeError: Cannot read property 'length' of undefined