cocos2dx-触摸、传感器、物理按键及绘图四

这些都是添加在init()方法


1.单点触摸事件监听


2.多点触摸

    //多点触摸
    auto listener = EventListenerTouchAllAtOnce::create();
    listener->ontouchesBegan=[](std::vector<Touch*> ts,Event *e){
        log("ontouchbegin");
    };
    //移动
    listener->ontouchesMoved=[](std::vector<Touch*> ts,Event *e){
        log("touches moved and counts is %ld",ts.size());
    };
    
    //this表示这个层
    Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,this);


3.加速传感器
//添加加速度传感器
    //1.打开传感器
    Device::setAccelerometerEnabled(true);
    //2.监听传感器
    Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(EventListeneracceleration::create([](acceleration *a,Event *e){
        log("x:%g,y:%g,z:%g",a->x,a->y,a->z);
        
    }),this);

4.物理按键
   //物理按键监听
    auto listener = EventListenerKeyboard::create();
    listener->onkeyreleased=[](EventKeyboard::KeyCode code,Event*e){
        log("key code :%d",code);
        switch (code) {
            case EventKeyboard::KeyCode::KEY_BACKSPACE:
                Director::getInstance()->end();
                break;
            case EventKeyboard::KeyCode::KEY_MENU:
                log("this is menu");
            default:
                break;
        }
    };
    Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,this);

5.绘图

    auto r = cocos2d::DrawNode::create();
    addChild(r);
//    r->drawDot(Vec2(100,100),10,cocos2d::Color4F::GREEN);
    r->drawRect(Point(20,10),Point(100,Color4F::RED);
    r->drawSolidRect(Point(120,120),Point(500,500),Color4F::BLUE);

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...