我已使用this resource为我的Cocos2D项目成功实现了滑块。
问题是我使用像素艺术制作游戏,所以我通常使用[sprite.texture setAliasTexParameters];
使它们看起来很清晰。我只是无法弄清楚如何使用这个示例代码。
This就是滑块的样子。
我像这样创建滑块:
self.musicSlider = [CCMenuItemSlider itemFromTrackImage: @"slider_bar.png" knobImage: @"slider_knob.png" target:self selector: @selector(onMusicSlide:)];
我相信这里是您需要从提到的示例.m文件中看到的所有代码:
+(id) itemFromTrackImage: (NSString*)value knobImage:(NSString*) value2 {
return [[[self alloc] initFromTrackImage:value knobImage:value2 target:nil selector:nil] autorelease];
}
+(id) itemFromTrackImage: (NSString*)value knobImage:(NSString*) value2 target:(id) t selector:(SEL) s {
return [[[self alloc] initFromTrackImage:value knobImage:value2 target: t selector: s] autorelease];
}
-(id) initFromTrackImage: (NSString *)trkImage
knobImage: (NSString *)knbImage
target: (id)target
selector: (SEL)selector
{
if( (self=[super initWithTarget:target selector:selector]) ) {
self.trackImage = [CCSprite spriteWithFile: trkImage];
self.knobImage = [CCSprite spriteWithFile: knbImage];
// Content size of the track is our reference
// Knob must lie within
[self setContentSize: trackImage_.contentSize];
[self addChild: knobImage_ z:2];
isVertical = (self.contentSize.height > self.contentSize.width);
self.minValue = 0.0f;
self.maxValue = 100.0f;
self.value = 50.0f;
}
return self;
}
精灵在.h文件中声明为CCNode<CCRGBAProtocol>
,我无法将.texture
置于其后。
非常感谢您提供所有帮助,如果您需要更多规格,请询问。
答案 0 :(得分:0)
我通过更改代码使其工作,因此它使用精灵表而不是单个图像。
我改变了这个:
self.trackImage = [CCSprite spriteWithFile: trkImage];
对此:
self.trackImage = [CCSprite spriteWithSpriteFrameName: trkImage];
我以为我昨天在问之前尝试了这个,但我想我太累了,做了一些愚蠢的错误。