Utk*_*nos 6 html5 canvas shape layer kineticjs
任何人都可以解释为什么(实际上,如果)在使用像Kinetic这样的东西时最好将画布游戏的主要部分抽象到不同的层次?
它当然感觉就像你应该的那样,到目前为止我一直是:背景的一层,玩家角色的一层,以及其他层.
然后我遇到了一个情况,我需要一个图层的形状坐在另一个图层的形状后面 - 但是将整个图层移到另一个图层后面不是一个选项,所以我不情愿地重新编码所以整个游戏都坐在一个层.
令我惊讶的是,我仍然可以做我需要的一切.我仍然可以动画或处理各个形状或组的事件.
简而言之:显式分层带来了哪些优势?单层方法可能会遇到哪些陷阱?
实际上,层通常会带来巨大的优势.但是,有时它们不是必需的.只是为了给出一个想法 - 比较PhotoShop(图层)和MS Paint(没有图层).如果这给你的想法,那就是它!
如果不是:层是组织概念.它可以让你处理碎片数据.他们允许:
如您所见,层通常允许诸如封装之类的抽象,并且在某种程度上允许在内容组织级别上实施多态.单层方法带来的陷阱只是 - 太紧密的耦合 - 来自永久混乱世界的野兽,封装和多态性为永恒而战.努夫说!
小智 5
如果你的游戏包含很多不同的东西,绘制一切可能需要一些时间.同一层中的太多会降低性能.虽然太多的层也是如此.
查看:http://www.html5canvastutorials.com/labs/html5-canvas-kineticjs-drag-and-drop-stress-test-with-1000-shapes/