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", and "DefaultWebGLLayer". 它们的z值分别为30, 20, and 10初始化时如果一个实体添加了 "DOM", "Canvas" or "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" 及使用它绘制的所有的实体。