Kineticjs类层次结构澄清

Caf*_*ion 1 javascript kineticjs

在回顾了Kineticjs文档之后,我提出了以下建议

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

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

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

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

什么是BaseLayer'FastLayer'用于确切?在文档中FastLayer有完全相同的描述,Layer并且BaseLayer只是说它是一个构造函数.

在其中一个提交注释中,推断出FastLayer不必删除hit canvas...我猜这是因为它没有一个因此使它更快?

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

编辑:更新问题以反映markE的输入,任何人都有洞察力BaseLayer

mar*_*rkE 5

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

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

KineticJS文档说:

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

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

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

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

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

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

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