如何处理某个图层上画布中的点击?

时间:2011-11-30 13:23:06

标签: javascript html5-canvas

这是我的代码:

var background = new LibCanvas('#canv');
 var planet = background.createLayer('planet');
 var mouse = planet.listenMouse();
  mouse.addEvent('click', function () {
    //code
  });

点击图层不是应该的东西。

如果我这样做:

var background = new LibCanvas('#canv');
 var planet = background.createLayer('planet');
 var mouse = planet.listenMouse();
var info=mouse.mouse;
  info.addEvent('click', function () {
    //code
  });

点击工作,但它在后台继续工作

1 个答案:

答案 0 :(得分:0)

您应该将事件绑定到元素,而不是绑定到图层。看看那个例子:http://libcanvas.github.com/ui/button.html

你只需要添加类似的东西,一切都会正常工作:

button.addEvent( 'click', function (e) {
    trace(e.offset);
});

此外,在此代码listenMouse中返回this,因此结果为mouse === planetlayer.mouse链接到所有图层的一个对象。

var planet = background.createLayer('planet');
var mouse = planet.listenMouse();