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);
	}
}

运行结果:

測试执行效果:

?

??

时间: 2024-10-31 15:52:19

Cocos2d-X中的Slider控件的相关文章

silverlight中常用的控件

一.布局控件 Canvas面板是一种很基础的布局面板,它支持对其中的控件采用绝对坐标定位.Canvas.Top和Canvas.Left.Canvas.ZIndex附加属性:如果指定了两个控件相对于父容器Canvas同样的边距,则后面声明的控件父覆盖前面声明的控件.这时我们可以使用Canvas.ZIndex属性来改变它们的显示顺序. StackPanel是一种简单的布局面板,它支持用行或列的方式来定位其中包含的控件.StackPanel 常用于安排页面上的一个很小的 UI 部分.默认情况下,Ori

slider控件用法

slider控件用法 滑动控件是Windows中最常用的控件之一.一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值.通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示相应的值.滑动控件在应用程序中用途级为广泛,如在桌面的属性中就可以看到.为此,让我们一起来看一下它的实现方法. (1)在VC++ 6.0中新建一个对话框文档的工程. (2)打开资源管理器,在对话框中放置一个EDIT控件,然后在它旁边放上一个Slider控件.基本的框架已经完成了

Cocos2d-x3.0游戏实例之《别救我》第六篇——从代码中获取UI控件

这篇的内容很简单,获取UI控件,然后使用它. 还记得我们在UI编辑器中给三个按钮分别命名了吧? 现在要用上了. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址: http://www.benmutou.com/blog/archives/918 文章来源:笨木头与游戏开发 根据名字查找控件 首先给TollgateScene再include一些头文件,不然等会编译又报错了: #include "editor-support/cocostudio/CCSGUIReader.h&quo

android 在布局中动态添加控件

第一步 Java代码 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 Java代码 final LinearLayout lin = (LinearLayout) findViewById(R.id.LinearLayout01); 第三步:获取需要添加的布局(控件) Java代码 LinearLayout layout = (LinearLayout) inflater.inflate( R

使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件

一.控制ChartControl的Y轴范围 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件,具体代码如下: 该代码实现的效果如下: 参考文献: [1]AxisY Range Auto https://www.devexpress.com/Support/Center/Question/Details/Q266328 二.设置GridControl表格中的超级链接: 1.首先在表格的设计器中添加一个Hyp

C# dataGridView控件中加入comboBox控件及注意事项

DataGridViewComboBoxColumn pCombo; private void Teaching_Add_Load(object sender, EventArgs e) { MyDBase DB = new MyDBase(DBUser.sserver,DBUser.DBName, DBUser.suser, DBUser.spasswd); DataSet DS= DB.GetRecordset("select * from view_teach_tmp"); da

WPF 中动态改变控件模板

在某些项目中,可能需要动态的改变控件的模板,例如软件中可以选择不同的主题,在不同的主题下软件界面.控件的样式都会有所不同,这时即可通过改变控件模板的方式实现期望的功能. 基本方法是当用户点击切换主题按钮是加载新的资源字典,并使用新加载的资源字典替代当前的资源字典这时要用到ResourceManager. 假设现有两个不同的资源字典文件Dictionary1.xaml和Dictionary2.xaml存在于Themes文件夹内: 在MainPage中使用其中一个资源字典作为默认样式文件: <Win

FormView的插入模板中的DropDownList控件参数

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DT

SplendidCRM中给来自EditView中的listbox控件设置选中值或数据源

DropDownList list = this.findContol("aas") as DropDownList;list.DataSource = new DataTable() ------------------------------- Control ctl = this.FindControl("NAME");            if (ctl != null)            {                if (ctl is Dro