是否可以使我的粒子可点击?

时间:2012-08-23 12:30:03

标签: javascript canvas particles

我有以下粒子脚本(从网上找到并编辑!): http://jsfiddle.net/neuroflux/hSkFX/1/

我想知道让每个粒子“可点击”的最简单方法是什么?

据我所知,这些不是元素,而是x / y /半径点。

您认为最简单的方法是什么?

干杯!

[edit] 此问题与点击区域点击事件有关....

2 个答案:

答案 0 :(得分:4)

无法真正知道您单击了画布中的元素。您所知道的是用户在画布对象上单击的x / y位置。您可以采取x / y位置并找出是否存在某些东西。另一种选择是检查那里的像素颜色,看它是否有颜色。

答案 1 :(得分: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);
    }

您需要对Circle()对象实现.contains函数,但是您必须通过比较光标位置与圆心的距离与圆半径来更改方法,如果更小则返回一个