#include "cocos-ext.h" //包含头文件

using namespace cocos2d::extension;//引用命名空间

/**
  *        创建CCControlSlider的两种方式

  *        用CCSprite精灵创建滑块控件

  *         create("滑块背景图", "划过区域图", "滑块图");

  *        static CCControlSlider* create(CCSprite* backgroundSprite, CCSprite* pogressSprite, CCSprite* thumbSprite);

  *        直接用图片资源名创建,省去了创建精灵的步骤

  *        实际上,在其内部依旧是调用上面的create函数创建CCSprite精灵

  *        create("滑块背景图", "划过区域图", "滑块图");

  *        static CCControlSlider* create(const char* bgFile, const char* progressFile, const char* thumbFile);

/**
 *        属性设置

 *        setValue , 

 *        setMinimumValue , setMaximumValue

 *        setMinimumAllowedValue , setMaximumAllowedValue ,

 *        setBackgroundSprite , setProgressSprite , setThumbSprite

 */
    float setValue() | getValue(); //设置当前滑块的值

    float setMinimumValue() | getMinimumValue(); //设置滑块最小值

    float setMaximumValue() | getMaximumValue(); //设置滑块最大值

    float setMinimumAllowedValue() | setMinimumAllowedValue(); //设置允许滑动的最小值

    float setMaximumAllowedValue() | setMaximumAllowedValue(); //设置允许滑动的最大值

    //设置滑块的背景图、划过区域图、滑块图

    //CC_SYNTHESIZE_RETAIN为宏定义:除了创建了set/get以外,还用了retain来保留内存资源。

    CC_SYNTHESIZE_RETAIN(CCSprite*, m_backgroundSprite, BackgroundSprite);

    CC_SYNTHESIZE_RETAIN(CCSprite*, m_progressSprite, ProgressSprite);

    CC_SYNTHESIZE_RETAIN(CCSprite*, m_thumbSprite, ThumbSprite);

    //创建 create("滑块背景图", "划过区域图", "滑块图"), 可传入精灵 和图片

    CCControlSlider *slider =CCControlSlider::create(CCSprite::createWithSpriteFrameName("ST_Volume.png"), 

    CCSprite::createWithSpriteFrameName("ST_Volume.png"), 

    CCSprite::createWithSpriteFrameName("ST_Round.png")); 

    slider->setMinimumValue(0.0f); //设置最低值

    slider->setMaximumValue(100.0f);//设置最高值

    slider->setMinimumAllowedValue();//设置最低可以滑动的值,0不需要设置

    slider->setMaximumAllowedValue();//设置最高可以滑动的值

    slider->setValue(50.0f); //设置当前值

    slider->setPosition(ccp(p_Window->getContentSize().width * 0.55f , p_Window->getContentSize().height * 0.66f));

    //设置回调函数

    slider->addTargetWithActionForControlEvents(this,cccontrol_selector(MyScene::sliderCallBack) , CCControlEventValueChanged);

    addChild(slider);
void MyScene::sliderCallBack(CCObject *sender, CCControlEvent controlEvent){
    //回调函数
    CCControlSlider* slider = (CCControlSlider*)sender;

    CCLog("%f",slider->getValue());

}

滑块控件CCControlSlider的更多相关文章

  1. cocos2dx基础篇(9) 滑块控件CCControlSlider

    [3.x] (1)去掉 “CC” (2)对象类 CCObject 改为 Ref (3)CCControlEvent 改为强枚举 Control::EventType (4)CCControlEvent ...

  2. cocos2d-x拖动滑块控件CCControlSlider

    #include "GameMusicSetting.h" bool GameMusicSetting::init() { if(!CCLayer::init()) { retur ...

  3. iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图

    iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图 使用ios9中的开关.滑块控件 开关和滑块也是用于和用户进行交互的控件.本节将主要讲解这两种控件. ios9开关 开关控件常用来控制某个功能的 ...

  4. WPF滑块控件(Slider)的自定义样式

    前言 每次开发滑块控件的样式都要花很久去读样式代码,感觉有点记不牢,所以特此备忘. 自定义滑块样式 首先创建项目,添加Slider控件. 然后获取Slider的Window样式,如下图操作. 然后弹出 ...

  5. WPF双滑块控件以及强制捕获鼠标事件焦点

    效果 概述 最近有个小需求要用双滑块表示一个取值范围,于是就简单做了个用户控件,在此记录下. 使用矩形Rectangle表示范围,椭圆Ellipse表示滑块,使用Canvas控制滑块的左右移动. 椭圆 ...

  6. iOS系列 基础篇 09 开关、滑块和分段控件

    iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块 ...

  7. MFC_2.3 定时器、滑块、进度条控件

    定时器.滑块.进度条控件 1.拖控件 2.绑定变量.默认,然后取名字 3.初始化设置定时器 // 设置滑块和进度条的范围 m_TrackBar.SetRange(0, 1000); m_StaticP ...

  8. Cocos2d-X中的Slider控件

    Slider控件事实上就是滑块控件.经常使用于音乐中的音量控制,在Windows编程中开发音乐播放器就须要用到滑块控件控制音量 首先在project文件夹下的Resource文件夹中放 在Skider ...

  9. 2013 duilib入门简明教程 -- 复杂控件介绍 (13)

      首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图:           然后将Name属性改成其他名字,          不能是[控件名+UI+数字]这种,因为这是DuiDesigner ...

随机推荐

  1. hdu 3899(树形dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3899 思路:num[u]表示u以及u的子树的队伍数的总和,dist[u]表示u到根节点的距离,dp[u ...

  2. jquery获取设置input值

    $("#input").val("123"),注意val()这个函数$("#input").val("123"),//给 ...

  3. maven + hessian 简单样例

    项目结构例如以下: pom.xml 内容: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&quo ...

  4. linux下源代码搭建php环境之mysql(一)

    如今已经大半夜了,五一劳动节挺无聊的. 折腾一下吧.实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧. 发现遇到的问题真多. .待我娓娓道来. ...

  5. IOS开发经验总结(二)

    本文转载至 http://dreamahui.iteye.com/blog/1878922 IOS开发总结 by mhmwadm (感谢mhmwadm) 2013/4/10 1 XCode快捷键 4  ...

  6. 在 Ubuntu Mate 16.04 上通过 PPA 升级 Mate 1.14

    导读 Mate 桌面环境 1.14 现在可以在 Ubuntu Mate 16.04 ("Xenial Xerus") 上使用了.根据这个版本的描述,为了全面测试 Mate 1.14 ...

  7. json的循环

    通过for in: var json = {width: '200px', height: '200px', background: 'green'}; var i = ''; for(i in js ...

  8. PMP 质量管理7张图 很形象

    PMP 质量管理 中的因果图.控制图.流程图.核查表.直方图.帕累托图.散点图

  9. .NET 4.0 中的契约式编程

    契约式编程不是一门崭新的编程方法论.C/C++ 时代早已有之.Microsoft 在 .NET 4.0 中正式引入契约式编程库.博主以为契约式编程是一种相当不错的编程思想,每一个开发人员都应该掌握.它 ...

  10. Map<String, String>的数据处理以及ListView的适配器

    Map<String, String> map = new HashMap<String, String>(); map.put("key1", " ...