去下个orchard,学会怎么用就行了.
一般这样问问题的都是希望你用三句话讲清楚WINDOWS是怎么开发出来的,你能指望他用半年学习区区一个CMS系统......
1.场景类,等同页面,拥有自己的坐标系及其他属性. 例如
function Scene(){ this.offsetX; this.offsetY; this.bound ; //页面的矩形 this.animations; //页面具备的动画 this.style; //你可以理解为页面的一些css stytle this.children ; this.add = function(el,x,y){} this.remove = function(el){} this.render = function(){} //渲染
等等属性和方法
}
2.元素,每个元素对于web来说都是针对html 元素的二次封装的,每个元素除了拥有自己的针对场景的坐标外还拥有自己的坐标系,同时具备一些其他属性和方法,例如:
//所有元素基类 //存储所有元素通用的属性和方法 function Element( x, y , bound ){ this.x = x; this.y = y; this.bound = bound ; //元素的矩形大小,{X,X ,WIDTH , HEIGT } this.offsetX; this.offsetY; this.animations ; this.render= function(){} //返回HTML 格式的字符串例如:<div>test</div> } //=> <img > function ImageElement [extend Element ] (x, y , source , w , h){ this.source = source; this.render = function(){ //s1: 组装属性转换为CSS //s2: 生产HTML的格式字符串 return "<img src='xx' style="xxxx"></img>" } }
原理就是这样的,实际生产中需要考虑的东西很多,如果还有其他问题,我们可以后面再深入的讨论下。