var stage = new Kinetic.Stage({
container: 'container',
width: 1230,
height: 40
});
var layer = new Kinetic.Layer();
var rectHeight = 30;
var rectWidth = 100;
var rectY = (stage.getHeight() - rectHeight)/2;
var triangle = new Kinetic.RegularPolygon({
x: 25,
y: 25,
sides: 3,
radius: 20,
fill: '#00D2FF',
stroke: 'black',
strokeWidth: 2,
draggable: true,
dragBoundFunc: function(pos) {
return {
x: pos.x,
y: this.getAbsolutePosition().y
}
}
});
// add cursor styling
triangle.on('mouseover', function() {
document.body.style.cursor = 'pointer';
});
triangle.on('mouseout', function() {
document.body.style.cursor = 'default';
});
triangle.on('dblclick', function(){
//alert("down");
layer.clear();
stage.clear();
});
layer.add(triangle);
stage.add(layer);
}
這是我的代碼片段。這將創建一個可拖動的三角形(從教程http://kineticjs.com/中獲得)。
目的:我想要它刪除三角形時,我雙擊它。
問題:
i。三角形可以被刪除,但是當您重繪三角形時,我會在當前位置下面繪製它被刪除的位置。當它被移除並重復重繪時,也會發生同樣的事情。經過幾次重繪後,它會在我的屏幕底部結束。
ii。 Alert()用於彈出通知對嗎?當我使用alert()時,三角形可以從屏幕上移除。如果不是,它就停留在那裏。
是否有通過鼠標事件刪除對象,當另一個鼠標事件發生時,它會將對象繪製在同一位置?
嘿@PAEz,我很抱歉沒有發佈整個代碼,因爲它太長了。如果我有任何問題,下次再做。並且非常感謝你!基本上,這是我想要做的。是否可以讓三角形出現在我點擊的位置?因爲當我雙擊三角形時,它隱藏在X點。所以如果我點擊Z點,它可以在Z點取代X點取消隱藏嗎? – CNLSH
@CNLSH你不需要發佈整個事情,只是做一個測試用例就像我顯示的問題,我不能總是被困擾自己做這件事,我不喜歡張貼答案,我不能測試。這就是你想要的... http://jsfiddle.net/RELQp/1/ – PAEz
謝謝@PAEz。這正是我想要的。非常感謝。我將來會做一個測試用例。 – CNLSH