如何在Cocos2d v3.2.1中使用CCSlider?

时间:2014-11-20 06:31:43

标签: ios cocos2d-iphone

我是cocos2d iPhone开发的新手。我的问题是如何在Cocos2d v3.2中使用CCSlider。 CCSlider只有两个参数(background spriteFrame和HandleImage)。当我们改变Thumb位置时,我们如何改变滑块的颜色/图像。如何区分空条和完整条,如何进行填充?

假设我想使用颜色为红色(空)和绿色(填充)/两个不同的滑块图像。默认情况下,滑块颜色为红色表示滑块值为0.0f(空)。如果我增加值滑块然后滑块颜色将从位置0.0变为绿色(填充)到当前拇指位置。请帮助我。对于我的问题我是非常英语的一周

谢谢。

1 个答案:

答案 0 :(得分:1)

以下是我如何使用CCSlider进行音量控制。此代码位于GameOptions菜单类的 init 方法中:

CCSpriteFrame *frRuler = [CCSpriteFrame frameWithImageNamed:@"slider_track.png"];
CCSpriteFrame *frKnob  = [CCSpriteFrame frameWithImageNamed:@"slider_knob.png"];
_mainGain = [[CCSlider alloc] initWithBackground:frRuler andHandleImage:frKnob];
[self addChild:_mainGain];
[_mainGain setTarget:self selector:@selector(onMainGainChange:)];
_mainGain.anchorPoint  = ccp(.5, .5);
_mainGain.visible      = YES;
_mainGain.positionType = CCPositionTypePoints;
_mainGain.position     = ccp(kScreenWidth / 2, kScreenHeight / 2 - 55);
_mainGain.continuous   = YES;
_mainGain.sliderValue  = _battlesSettings.audio.masterVolumeGain; // initial

使用以下方法接收滑块控件' slide'事件:

- (void)onMainGainChange:(id)sender {
    CCSlider *sl = (CCSlider *) sender;
    _battlesSettings.audio.masterVolumeGain = sl.sliderValue;
    _isSettingsDirty = YES;
}