@jerad
In KineticJS, the zindex property is used to define the stacking order of different layers, shapes, and groups on the stage. Here is how you can use zindex for different layers in KineticJS:
- Create a stage and add multiple layers to it:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var stage = new Kinetic.Stage({
container: 'container',
width: 500,
height: 500
});
var layer1 = new Kinetic.Layer();
var layer2 = new Kinetic.Layer();
var layer3 = new Kinetic.Layer();
stage.add(layer1);
stage.add(layer2);
stage.add(layer3);
|
- Add shapes and groups to the layers:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
var circle = new Kinetic.Circle({
x: 100,
y: 100,
radius: 50,
fill: 'red'
});
var rectangle = new Kinetic.Rect({
x: 200,
y: 200,
width: 100,
height: 50,
fill: 'blue'
});
layer1.add(circle);
layer2.add(rectangle);
|
- Set the zindex of the layers to define their stacking order:
1
2
3
|
layer1.setZIndex(0); // bottom layer
layer2.setZIndex(1); // middle layer
layer3.setZIndex(2); // top layer
|
- Call the draw() method on the stage to render the layers in the correct order:
Now, the layers will be rendered in the order defined by their zindex values. The layer with the highest zindex value will appear on top of layers with lower zindex values.