• [Cocos2d-x]Cocos2d-x 3.2 学习笔记


    获取屏幕大小(Visible)

    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    

    打印调试(CCLOG)

    CCLOG("Characters: %c %c", 'a', 65);
    CCLOG("Decimals: %d %ld", 1977, 650000L);
    CCLOG("Preceding with blanks: %10d", 1977);
    CCLOG("Preceding with zeros: %010d", 1977);
    CCLOG("Some different radixes: %d %x %o %#x %#o", 100, 100, 100, 100, 100);
    CCLOG("Floats: %4.2f %.0e %E", 3.1416, 3.1416, 3.1416);
    CCLOG("%s","A string");
    

    创建菜单(Menu Item)

    // 创建菜单
    auto menuItem = MenuItemImage::create( "MenuNormal.png",
                                           "MenuSelected.png",
                                           CC_CALLBACK_1(HelloWorld::menuCallback, this) );
    // 设置坐标
    menuItem->setPosition( Vec2(x,y) );
    // 创建菜单
    auto menu = Menu::create(menuItem, NULL);
    menu->setPosition(Vec2::ZERO);
    this->addChild(menu, 1);
    

    创建标签(Label)

    auto label = LabelTTF::create("Hello World", "Arial", 24);
    label->setPosition(Vec2(x,y));
    this->addChild(label, 1);
    

    加入精灵(Sprite)

    auto sprite = Sprite::create("Me.jpg");
    sprite->setPosition(Vec2(visibleSize.width / 2 , visibleSize.height / 2));
    sprite->setAnchorPoint(Vec2(0.5,0.5));
    this->addChild(sprite, 0);
    

    精灵动画(Action)

    auto  actionBy = MoveBy::create(1, Point(100,100));
    auto  easeAction = EaseIn::create(actionBy, 2.5f);
    sprite->runAction(Repeat::create(easeAction, 5));
    

    加入监听(Listener)

    auto listener1 = EventListenerTouchOneByOne::create();
    
    listener1->onTouchBegan = [](Touch* touch, Event* event){
        auto target = static_cast<Sprite*>(event->getCurrentTarget());
        Point locationInNode = target->convertToNodeSpace(touch->getLocation());
        Size s = target->getContentSize();
        Rect rect = Rect(0, 0, s.width, s.height);
                if (rect.containsPoint(locationInNode))
        {
            log("sprite began... x = %f, y = %f", locationInNode.x, locationInNode.y);
            target->setOpacity(180);
            return true;
        }
        return false;
    };
    
    listener1->onTouchMoved = [](Touch* touch, Event* event){
        auto target = static_cast<Sprite*>(event->getCurrentTarget());
        target->setPosition(target->getPosition() + touch->getDelta());
    };
    
    listener1->onTouchEnded = [=](Touch* touch, Event* event){
        auto target = static_cast<Sprite*>(event->getCurrentTarget());
        if (target == sprite)
        {
            log("Click on the sprite");
        }
    };
    
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite);

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    HDU 1069 Monkey and Banana
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    Gym100923H Por Costel and the Match
    Codeforces 682C Alyona and the Tree
    Codeforces 449B Jzzhu and Cities
    Codeforces (ccpc-wannafly camp day2) L. Por Costel and the Semipalindromes
    Codeforces 598D (ccpc-wannafly camp day1) Igor In the Museum
    Codeforces 1167c(ccpc wannafly camp day1) News Distribution 并查集模板
    快乐数问题
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4626577.html
Copyright © 2020-2023  润新知