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"以及在它上边绘制的所有实体。