加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-X中的Slider控件

发布时间:2020-12-14 19:06:49 所属栏目:百科 来源:网络整理
导读:Slider控件其实就是滑块控件,常用于音乐中的音量控制,在Windows编程中开发音乐播放器就需要用到滑块控件控制音量 首先在工程目录下的Resource文件夹中放 在Skider.h添加下面的代码 #ifndef __Slider_H__#define __Slider_H__#include "cocos2d.h"#include
Slider控件其实就是滑块控件,常用于音乐中的音量控制,在Windows编程中开发音乐播放器就需要用到滑块控件控制音量

首先在工程目录下的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);
	}
}

执行结果:


测试运行效果:

?

??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读