cocos2dx 接受触摸事件

有两种方式

1.重写 多点触摸

virtual void onTouchesBegan (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *unused_event);

2. 注册 单点触摸

    auto dispatcher = Director::getInstance()->getEventDispatcher();
    auto listener = EventListenerTouchOneByOne::create();
    listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan,this);
    listener->onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved,this);
    listener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded,this);
    listener->setSwallowTouches(true);//不向下传递触摸
    dispatcher->addEventListenerWithSceneGraphPriority(listener,this);

   然后 重写

bool HelloWorld::onTouchBegan(Touch* touch, Event  *event)
	void HelloWorld::onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *unused_event)





猜你喜欢

转载自blog.csdn.net/lipeiran1987/article/details/54022973