Kineticjs类层次结构澄清

时间:2014-03-31 05:17:38

标签: javascript kineticjs

在审核了Kineticjs docs后,我提出了以下内容

  • Kinetic.Node - 节点是可以转换,分层和绑定事件的实体。
  • Kinetic.Shape (节点) - 形状是原始对象,如矩形,圆形,文本,线条等。
  • Kinetic.Container (节点) - 容器用于包含节点或其他容器

  • Kinetic.Stage (容器(节点)) - 一个阶段用于包含多个图层add(Layer)

  • Kinetic.Layer (容器(节点)) - 图层绑定到自己的canvas元素,用于包含组或形状add(Node)
  • Kinetic.Group (容器(节点)) - 组用于包含形状或其他组。 add(Node)
  • Kinetic.BaseLayer (容器(节点)) - ???
  • Kinetic.FastLayer (容器(节点)) - 用于不需要用户交互的图层(更新感谢markE)< / EM>

  • Kinetic.Collection (数组) - 此类与Kinetic.Container一起使用#get

究竟用BaseLayer和'FastLayer'是什么?在文档中FastLayerLayer具有完全相同的描述,BaseLayer只是说它是构造函数。

在其中一个commit comments中推断FastLayer不必删除hit canvas ...我猜这是因为它没有一个因此使它更快?

对这两个类的作用以及如何有效地使用它们的一些说明将不胜感激。

编辑:更新了问题以反映markE的输入,任何人都对BaseLayer有所了解?

1 个答案:

答案 0 :(得分:5)

注意:从这篇文章开始,快速层仅在几天前推出。但据我了解......

新的快速图层是旧图层,但关闭了事件。

KineticJS文档说:

  

如果您不需要节点嵌套,鼠标和触摸交互或事件   pub / sub,你应该使用FastLayer而不是Layer来创建你的   层。它渲染速度比普通图层快2倍。

快速图层用于不需要用户互动的图层:

  • 静态背景图层,无需用户交互。
  • 通过JS代码完全操作和绘制的静态层,无需用户交互。

绘制快速图层的速度更快,因为没有与事件相关的开销。

普通图层还有一个支持屏幕外画布,支持命中测试和拖动。

我怀疑快速图层没有这种开销,因为命中测试和拖动与事件有关。

说完这个......我需要更多地调查这个新工具。 ; - )