0

假設我在layer1上有一個圓,然後在layer2上有一個正方形。圓的直徑是正方形的寬度,它們的中心是相同的,圓是在正方形的頂部。我該如何設置,如果我在layer1上觸發任何事件,甚至會在layer2中的相同位置執行相同的事件。所以在這種情況下,如果我點擊圓圈,廣場的點擊事件也會被觸發。當然,這並不意味着我只是想將圓的事件連接到正方形,而是我基本上希望事件在兩個圖層上都被觸發。通過Kinetic.js中的多個層來處理事件?

因此,例如,如果

circle.on("click", function() { 
    alert("foo"); 
}); 

square.on("click", function() { 
    alert("bar"); 
}); 

然後點擊圓心應觸發廣場click事件。

,而不是由

circle.on("click", function() { 
    alert("foo"); 
    square.simulate("click"); // don't want this 
}); 

回答

0

如何添加圓形和方形的一組,然後attatch的點擊事件到組,而不是?

0

動力學有兩件事可以幫助你。

  1. getIntersections() - 返回所有形狀點擊鼠標點下
  2. 火() - 觸發一個事件

動能文檔提到的getIntersections()執行緩慢,所以他們寧願getIntersection(),但我從來沒有使用過,所以我不能說多少。

http://kineticjs.com/docs/Kinetic.Stage.html#getIntersection

希望這有助於。

相關問題