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" 及使用它绘制的所有的实体。