我有什麼,我說的是在上述意見的樣本:http://jsfiddle.net/KwQBB/
這並不需要一個新的圖層,但可能是很好的做法,這樣做。
您可以定製邏輯是任何你想要的,尤其是模擬「截取」
var stage = new Kinetic.Stage({
container: 'container',
width: 578,
height: 500
});
var layer = new Kinetic.Layer();
var pentagon = new Kinetic.RegularPolygon({
x: stage.getWidth()/2,
y: stage.getHeight()/2,
sides: 5,
radius: 70,
fill: 'red',
stroke: 'black',
strokeWidth: 4,
draggable: true,
dragOnTop: false
});
var rect1 = new Kinetic.Rect({ // overlay
x: 0,
y: 0,
width: stage.getWidth(),
height: 100,
fill: 'gray',
opacity: 0.5,
listening: false // <------ Extremely important
});
var rect2 = new Kinetic.Rect({ // overlay
x: 0,
y: stage.getHeight()/2,
width: stage.getWidth(),
height: 100,
fill: 'gray',
opacity: 0.5,
listening: false // <------ Extremely important
});
// add the shape to the layer
layer.add(pentagon);
layer.add(rect1);
layer.add(rect2); // add more rectangles to complete overlay
// add the layer to the stage
stage.add(layer);
你可以張貼一些你在工作的jsfiddle什麼代碼?這樣,其他人(像我)可以通過添加一些代碼來幫助你更多 – SoluableNonagon 2013-03-07 15:59:53
似乎實現「覆蓋」的最簡單方法是用四個半透明矩形創建一個不偵聽任何事件的新圖層,以便你可以拖動它後面的圖像。 – SoluableNonagon 2013-03-07 16:01:18