Crafty.createLayer()

public void Crafty.createLayer(string name, string type[, object options])
name

创建层的名称

type

绘制层的类型('DOM', 'Canvas', or 'WebGL')

options

层的配置参数

创建一个实现指定类型的层的新系统。选项(及其默认值)是:

{
  xResponse: 1,  // How the layer will pan in response to the viewport x position
  yResponse: 1,  // How the layer will pan in response to the viewport y position
  scaleResponse: 1, // How the layer will scale in response to the viewport scale.  (Layer scale will be scale^scaleResponse.)
  z: 0 // The zIndex of the layer relative to other layers
}

Crafty 将自动定义内置三层:“DefaultDomLayer”,DefaultCanvasLayer”、和“DefaultWebGLLayer”。他们将Z值分别为10和30, 20,并将被初始化,如果一个“DOM”、“Canvas”或“WebGL”组件是用一个实体不依附于任何用户指定的层。

注意:层是作为系统实现的,因此层名称必须与其他系统不同。

注意:默认情况下,层将在场景更改中持久存在。您可以手动清除一个层,删除所有的实体,然后销毁它。

例子

Crafty.createLayer("MyCanvasLayer", "Canvas")
Crafty.e("2D, MyCanvasLayer, Color");

自定义一个Canvas层,并创建一个实体绘制在这个层上。

例子

Crafty.createLayer("UILayer", "DOM", {scaleResponse: 0, xResponse: 0, yResponse: 0})
Crafty.e("2D, UILayer, Text");

自定义一个不跟随相机移动的DOM层(对于静态的UI元素很有用)

例子

Crafty.createLayer("MyCanvasLayer", "Canvas");
Crafty.s("MyCanvasLayer").one("RenderScene", function(){ this.everRendered = true; });

创建一个自定义的层,并绑定一个第一次绘制时的事件。

例子

Crafty("MyCanvasLayer").destroy();
Crafty.s("MyCanvasLayer").destroy();

销毁之前定义的"MyCanvasLayer"以及在它上边绘制的所有实体。