zoukankan      html  css  js  c++  java
  • Cocos2d-X在SwitchControl使用

    SwitchControl控制类中的一个开关的发挥了作用似在现实生活中开关

    因为控制相对简单,我没有做过多的解释。直接在代码


    首先在project文件夹下的Resource文件夹中加入三张图片


    在SwitchControl.h加入以下代码

    #ifndef   _SwitchControl_H_
    #define  _SwitchControl_H_
    
    #include "cocos2d.h"
    #include "cocos-ext.h"
    USING_NS_CC;
    USING_NS_CC_EXT;
    
    class SwitchControl : public CCLayer 
    {
    public:
        static CCScene* scene();
    	CREATE_FUNC(SwitchControl);
    	bool init();
    	void switchValueChanged(CCObject*, CCControlEvent);
    };
    
    #endif
    


    在SwitchControl.cpp中加入以下代码

    #include "SwitchControl.h"
    
    CCScene* SwitchControl::scene()
    {
    	CCScene* s = CCScene::create();
    	SwitchControl* layer = SwitchControl::create();
    	s->addChild(layer);
    	return s;
    }
    
    bool SwitchControl::init()
    { 
        CCLayer::init();
    
        //得到窗体的大小
        CCSize winSize = CCDirector::sharedDirector()->getWinSize();   
    
        //设置ControlSwitch控件打开的文字No"
    	CCLabelTTF* on = CCLabelTTF::create("ON", "Arial", 16);
    	
        //设置ControlSwitch控件关闭时的文字"OFF"
        CCLabelTTF* off = CCLabelTTF::create("OFF", "Arial", 16);
    	
        //设置ControlSwitch控件打开的文字的颜色
        on->setColor(ccc3(0, 0, 0));
    
        //设置ControlSwitch控件关闭时的颜色
    	off->setColor(ccc3(0, 0, 0));
    
        //创建ControlSwitch控件
        CCControlSwitch* control = CCControlSwitch::create(
    	    CCSprite::create("switch-mask.png"),
    	    CCSprite::create("switch-on.png"),
    	    CCSprite::create("switch-off.png"),
    	    CCSprite::create("switch-thumb.png"),
    	    on,
    	    off);
    
            //加入ControlSwitch控件
            addChild(control);
          
            //设置ControlSwitch控件的位置
            control->setPosition(ccp(winSize.width / 2, winSize.height / 2));
    
    		// 注冊valuechange消息,当valuechange时。调用switchValueChanged函数
    		control->addTargetWithActionForControlEvents(this, 
    			cccontrol_selector(SwitchControl::switchValueChanged), 
    			CCControlEventValueChanged);
    		
    		return true;
    }
    
    void SwitchControl::switchValueChanged(CCObject* sender, CCControlEvent ev)
    {
    	if (ev == CCControlEventValueChanged)
    	{
    		CCControlSwitch* control = (CCControlSwitch*)sender;
    		if (control->isOn())
    		{
    			CCLog("Switch if ON");
    		}
    		else
    		{
    			CCLog("Swith is Off");
    		}
    	}
    	else
    	{
    		CCLog("other events");
    	}
    }
    

    运行结果:


    演示效果:


    

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

  • 相关阅读:
    每天一个linux命令(1):ls命令
    如何查看和停止Linux启动的服务
    JavaScript作用域原理——作用域根据函数划分
    iOS 自动布局详细介绍
    arc下内存泄漏的解决小技巧
    AFNetwork2.0在报错1016,3840的解决方法及一些感悟
    iOS聊天下拉刷新聊天记录的实现
    tableview直接滚动至最后一行
    UITabBar,UINavigationBar的布局和隐藏问题
    transformjs玩转星球
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4613603.html
Copyright © 2011-2022 走看看