zoukankan      html  css  js  c++  java
  • Cocos2d-X中的Slider控件

    Slider控件事实上就是滑块控件。经常使用于音乐中的音量控制,在Windows编程中开发音乐播放器就须要用到滑块控件控制音量

    首先在project文件夹下的Resource文件夹中放




    在Skider.h加入以下的代码

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


    在Skider.cpp加入以下的代码

    #include "Slider.h"
    
    CCScene* Slider::scene()
    {
    	CCScene* s = CCScene::create();
    	Slider* layer = Slider::create();
    	s->addChild(layer);
    	return s;
    }
    
    bool Slider::init()
    {
        //初始化父类
        CCLayer::init();
    
        //得到窗体的尺寸
    	CCSize winSize = CCDirector::sharedDirector()->getWinSize();   
    
        //创建一个滑块
        CCControlSlider* slider = CCControlSlider::create("sliderTrack.png", "sliderProgress.png", "sliderThumb.png");
    	
        //加入滑块
        addChild(slider);
    	
        //设置滑块的位置
        slider->setPosition(ccp(winSize.width / 2, winSize.height / 2));
    
        //设置滑块滑动范围的最小值
    	slider->setMinimumValue(0);
    
        //设置滑块的最大值
    	slider->setMaximumValue(100);
        
        
        //设置滑块滑动时的最大值,此功能经常使用于视频站点中的免费试看的电影
    	slider->setMaximumAllowedValue(90);
    
        //设置滑块滑动的最小值,此功能经常使用于视频站点中的免费试看的电影
    	slider->setMinimumAllowedValue(10);
    
        //滑块响应函数(当滑块滑动时调用ValueChanged函数)
    	slider->addTargetWithActionForControlEvents(this, 
    		cccontrol_selector(Slider::ValueChanged), 
    		CCControlEventValueChanged);
    	
    		return true;
    }
    
    void Slider::ValueChanged(CCObject* sender, CCControlEvent ev)
    {
        //当滑块滑动时
    	if (ev == CCControlEventValueChanged)
    	{
    		CCControlSlider* slider = (CCControlSlider*)sender;
    		
            //得到滑块的值
            float f = slider->getValue();
    		
            //打印滑块的值
            CCLog("current value is %f", f);
    	}
    }
    

    运行结果:


    測试执行效果:

    

    
  • 相关阅读:
    networktool3
    networktool2
    networktool
    Intel Zepher 介绍
    使用IPMI发送事件1让BMC log 填满
    Knights Landing
    Intel历代处理器
    Intel Datacenter Group Public Roadmap
    django的url路由
    position用法
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6784829.html
Copyright © 2011-2022 走看看