您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx 触摸事件

2016-03-10 01:36 471 查看
单点触摸:

[code]
    auto label = LabelTTF::create("Label", "Courier", 30);

    label->setPosition(visibleSize / 2);

    this->addChild(label);

    auto listener = EventListenerTouchOneByOne::create(); /*创建事件侦听*/

    listener->onTouchBegan = [](Touch *touch, Event* event){ /*开始点击触发回调函数*/

        if (event->getCurrentTarget()->getBoundingBox().containsPoint( /*触摸点是否在目标范围*/
            touch->getLocation())){

            CCLOG("OK");

        }

        return false;  /*事件是否传递  false不传递,true传递*/
    };
    /*在场景中注册事件*/
    Director::getInstance()->getEventDispatcher()-> 
        addEventListenerWithSceneGraphPriority(listener, label);


多点触摸:

[code]    auto listener = EventListenerTouchAllAtOnce::create();

    listener->onTouchesBegan = [](std::vector<Touch*> touchs, Event* event){
        CCLOG("Touchs Began!");
    };

    listener->onTouchesMoved = [](std::vector<Touch*> touchs, Event* event){
        CCLOG("Touchs Move: %d", touchs.size());
    };

    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: