#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. Administrator privileges required for OLE Remote Procedure Call debugging: this feature will not work..

    VC++ 6.0单步调试(F10)出现警告框: 解决方法: 右键VC++ 6.0程序图标

  2. localStorage变更事件当前页响应新解-awen

    html5的localStorage相信大家都是很熟悉了,但是在chrome等支持该对象的浏览器中(ie10除外),如果你监听storage变更事件你就会发现,当数据发生变化时本页是监听不到stora ...

  3. Spring Cache 自定义注解

    1.在使用spring cache注解如cacheable.cacheevict.cacheput过程中有一些问题: 比如,我们在查到一个list后,可以将list缓存到一个键对应的区域里:当新增.修 ...

  4. js函数柯里化

    function curry(fn){ // 代码 } function add(a,b,c){ return a + b + c; } const execAdd = curry(add); exe ...

  5. Docker容器技术(目录)

    Docker介绍和部署请自行搜索官方网站 [01]Docker学习:镜像管理 [02]Docker学习:容器管理 [03]Docker学习:网络管理 [04]Docker学习:Dockerfile [ ...

  6. 剑指 offer set 28 实现 Singleton 模式

    singleton 模式又称单例模式, 它能够保证只有一个实例. 在多线程环境中, 需要小心设计, 防止两个线程同时创建两个实例. 解法 1. 能在多线程中工作但效率不高 public sealed ...

  7. WPF进阶之接口(4):ICommand实现详解

    上一章WPF进阶之接口():INotifyPropertyChanged,ICommand中我们遗留了几个问题,我将在本节中做出解释.在详细解释ICommand实现之前,我们现在关注一下什么是:弱引用 ...

  8. virtualbox虚拟机Linux系统与本地windows系统共享文件方法

    转自:http://jingyan.baidu.com/article/2fb0ba40541a5900f2ec5f07.html

  9. Angular2+学习第3篇 基本知识-组件

    一.插值表达式 基本用法与ng1一样. 可以使用 Angular 内置的 json 管道,来显示对象信息,管道用来格式化数据 import { Component } from '@angular/c ...

  10. 【Python之路】Python目录

    Python基础1 -- Python由来.Python种类.编码方式, Python基础2 -- Python运算符.数据类型.enumerate.range.for循环 python基础3 -- ...