我已经使用this resource成功地实现了我的Cocos2D项目的slider。
问题是我使用像素艺术来制作我的游戏,所以我通常使用[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放在后面。
非常提前感谢您的帮助,如果您需要更多的规格,请询问。
发布于 2012-03-24 21:22:50
我通过改变代码让它使用sprite sheet而不是单个图像来工作。
我改变了这一点:
self.trackImage = [CCSprite spriteWithFile: trkImage];要这样做:
self.trackImage = [CCSprite spriteWithSpriteFrameName: trkImage];我想我昨天在问之前就试过了,但我想我太累了,犯了一些愚蠢的错误。
https://stackoverflow.com/questions/9847581
复制相似问题