2012-08-23 73 views
2

我已經(爲發現和編輯從TEH網!)以下的粒子腳本: http://jsfiddle.net/neuroflux/hSkFX/1/是否可以使我的粒子可點擊?

我想知道最簡單的方法,使每個粒子「點擊」是什麼?

我明白的是,這些不是元素,而X/Y /半徑點。

什麼是你認爲最簡單的方法是什麼?

乾杯!

[編輯]這個問題是關於點擊區域點擊事件....

+1

的可能重複的[點擊在畫布給定的元素上(http://stackoverflow.com/questions/3213877/click-on-given-element-in-canvas);也見[在畫布精靈點擊區域(http://stackoverflow.com/questions/5948251/click-area-on-sprite-in-canvas) – mellamokb

+0

我認爲你必須趕上了''點擊然後查看點擊的座標是否是一個或多個粒子的位置。 – Pointy

+0

不不不,這不是點擊事件......這是爲了獲取粒子的點擊區域... –

回答

1

我發現這個教程特別有幫助! http://simonsarris.com/blog/510-making-html5-canvas-useful 這是相關的部分,你需要:

// Determine if a point is inside the shape's bounds 
    Shape.prototype.contains = function(mx, my) { 
// All we have to do is make sure the Mouse X,Y fall in the area between 
// the shape's X and (X + Height) and its Y and (Y + Height) 
    return (this.x <= mx) && (this.x + this.w >= mx) && 
      (this.y <= my) && (this.y + this.h >= my); 
    } 

您需要實現。載功能,您的圈子()的對象,但是你將不得不通過比較光標的位置的距離,改變的方法從具有圓半徑的圓的中心開始,如果較小則返回一個圓。

+0

非常感謝你! –

4

沒有辦法真正知道你點擊在畫布元素上。你知道的是用戶點擊畫布對象的x/y位置。你可以採取這個x/y的位置,並找出是否有什麼東西。另一種選擇是檢查那裏的像素顏色,看它是否着色。

相關問題