zoukankan      html  css  js  c++  java
  • cocos2d-X create std colorlayer

    #ifndef __MUSICLAYER_H__
    #define __MUSICLAYER_H__
    #include "cocos2d.h"
    using namespace std;
    using namespace cocos2d;
    
    
    
    class MusicLayer:public LayerColor
    {
    public:
        void inits();
        void free();
        MusicLayer();
        ~MusicLayer();
    private:
        void OnCallback(cocos2d::Ref* pSender);
        virtual bool onTouchBegan(Touch *touch, Event *unused_event);
    
    
    
    };
    #endif // !__MUSICLAYER_H__
    #include "MusicLayer.h"
    #include "cocos/ui/UIButton.h"
    #include "SimpleAudioEngine.h"
    #define DISPLAY Director::getInstance()->getVisibleSize()
    #define displayex Director::getInstance()->getVisibleSize()
    
    MusicLayer::MusicLayer()
    {
        this->inits();
    }
    
    MusicLayer::~MusicLayer()
    {
        this->free();
    }
    
    void MusicLayer::free()
    {
    
    }
    
    void MusicLayer::inits()
    {
        log("MusicLayer init");
        this->setTouchEnabled(true);
        auto ELTOBO = EventListenerTouchOneByOne::create();
        ELTOBO->setSwallowTouches(true);
        ELTOBO->onTouchBegan = std::move(std::bind(&MusicLayer::onTouchBegan, this, std::placeholders::_1, std::placeholders::_2));
        this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(ELTOBO, this);
        //this->getEventDispatcher()->addEventListenerWithFixedPriority();
        //this->getEventDispatcher()->addCustomEventListener();
    
    
        string file("res/Button.png");
        auto b = cocos2d::ui::Button::create(file, file, file);
        b->setColor(Color3B(24, 48, 64));
        b->setPosition(displayex / 2);
        b->setPressedActionEnabled(true);
        b->setContentSize(Size(200, 100));
        b->setTitleColor(Color3B::BLUE);
        b->addClickEventListener(std::bind(&MusicLayer::OnCallback, this, std::placeholders::_1));
        this->addChild(b);
    
    }
    
    void MusicLayer::OnCallback(cocos2d::Ref* pSender)
    {
        string name = ((Node*)(pSender))->getName();
        if (name == "")
        {
    
        }
    }
    
    bool MusicLayer::onTouchBegan(Touch *pTouch, Event *pEvent)
    {
        log("touch MusicLayer");
        return true;
    }
            auto musicLayer = new (std::nothrow) MusicLayer();
            if (musicLayer && musicLayer->initWithColor(Color4B(12, 24, 32, 255)))
            {
                musicLayer->setPosition(0, DISPLAY.height);
                musicLayer->runAction(MoveTo::create(0.1f, Vec3(0, 0, 0)));
                musicLayer->autorelease();
                this->addChild(musicLayer);
            }
  • 相关阅读:
    linux中实现将多个连续的字符拆分为单个字符
    linux 中删除当前目录下指定文件外所有的文件
    linux中将指定行数据合并为一行数据
    gz文件压缩、解压缩保留源文件
    R语言中提取多个连续值的累计的中间位点
    .net的委托和事件的直接理解
    消息是什么
    显示进度条的无组件上传!!
    与Java相关的四十个名字
    循环为Label赋值!
  • 原文地址:https://www.cnblogs.com/YZFHKMS-X/p/12695308.html
Copyright © 2011-2022 走看看