【已解决】【新手求助】 UISlider 是怎麽监听拖动的?

void UISlider::addEventListener(cocos2d::CCObject *target, SEL_SlidPercentChangedEvent selector)

这方法是监听拖动的吧,第二个参数 我是让我传方法响应的事件 我传的sliderpercentchangedselector(HellowScene::slideCallBack)

void HellowScene::slideCallBack(CCObject* pSender);

怎麽会报类型转换的错误,我是用的 sliderpercentchangedselector 啊。

“类型转换”: 无法从“void (__thiscall HellowScene::* )(cocos2d::CCObject *)”转换为“cocos2d::extension::SEL_SlidPercentChangedEvent”
1> 指向成员的指针有不同的表示形式;无法在它们之间进行类型转换

新手啊 求教了

大神呢。。。
这个UISlider 是 用cocostudio 生成的json 上面的 就是 进度条控件

没有大神会用吗? 或者有其他的方法。

可以看下testcpp的代码,其中有使用slider的例子,文件名为UISliderTest.cpp,下面一段就是监听值改变的回调函数,percent 变量就是改变后的值,当然还有其他的事件,自己去继承好了

void UISliderTest::sliderEvent(CCObject pSender, SliderEventType type)
{
switch (type)
{
case cocos2d::extension::SLIDER_PERCENTCHANGED:
{
UISlider
slider = dynamic_cast<UISlider*>(pSender);
int percent = slider->getPercent();
m_pDisplayValueLabel->setText(CCString::createWithFormat(“Percent %d”, percent)->getCString());
}
break;

    default:
        break;
}

}

请看一下 UISlider.h
回调函数需要两个参数
UISlider 的 SEL_SlidPercentChangedEvent 函数指针定义及宏定义:
typedef void (CCObject::SEL_SlidPercentChangedEvent)(CCObject,SliderEventType);
#define sliderpercentchangedselector(_SELECTOR) (SEL_SlidPercentChangedEvent)(&_SELECTOR)