3.x中事件分发器问题

在场景中添加了若干个按钮和鼠标事件监听器,如何判断用户点击的是哪个按钮啊,这样为何不行啊:

auto mouseListener = EventListenerMouse::create();
    mouseListener->onMouseDown = [=](Event *event)
{
	ui::Button* bt = static_cast<ui::Button*>(event->getCurrentTarget());
	int tag = bt->getTag();
	switch (tag)
	{
	case Btn_TAG1:
	{
			break;
	}
	case Btn_TAG2:
	{
			break;
	}
	default:
		break;
	}
    }


_eventDispatcher->addEventListenerWithSceneGraphPriority(mouseListener, this);

这肯定不行啊,event->getCurrentTarget() 获取的不是当前点击位置的按钮对象。 这个获取的是当前时间绑定的节点–>(_eventDispatcher->addEventListenerWithSceneGraphPriority(mouseListener, this);)也就是这个this对象。

谢谢!那该怎么判断是点击的哪个按钮呢

每个按钮都绑定点击事件