Skip to content

Quark Base Infrastructure

flashlizi edited this page Nov 3, 2011 · 8 revisions

Quark Base Infrastructure

Quark Base infrastructure illustration

Quark Infrastructure

Display Object List

  • 显示对象列表是Quark中参照Actionscript3中的显示对象列表设计的一套显示和管理对象的结构。他跟HTML的DOM树结构非常相似。
  • 显示对象列表的根是舞台stage,可以通过调用 stage.step() 方法来更新显示对象列表。

Context

  • Context在Quark中负责对象的渲染,还包括位移、旋转、缩放等变换。参照CanvasRenderingContext2D的设计思路,我们实现了CanvasContext和DOMContext。
  • CanvasContext采用canvas渲染,DOMContext采用DOM和CSS的 backgroundtransform(3d) 进行渲染。
  • Context有一个画布canvas属性,这是显示对象将被渲染到的地方。canvas属性是一个 HTMLCanvasElementHTMLDivElement 对象。
  • Context会被注入到舞台stage里,显示对象列表更新的时候会调用context的 transform() 进行变换,再调用 draw() 方法绘制对象。

Timer

  • Timer是一个计时器。在Quark中用来驱动显示对象列表的更新和渲染。
  • Timer通过 addListener() 方法来注册侦听器(侦听器需实现 step() 方法)。

显示对象列表、上下文、计时器三者分工合作,共同组成了Quark Base的架构。