Как установить AliasTexParameters для CCNode <CCRGBAProtocol>? - PullRequest
0 голосов
/ 24 марта 2012

Я успешно внедрил слайдер в свой проект Cocos2D, используя этот ресурс .

Проблема в том, что я делаю свою игру с использованием пиксельной графики, поэтому я обычно использую [sprite.texture setAliasTexParameters];, чтобы они выгляделихрустящий.Я просто не могу понять, как это сделать с этим примером кода.

Это , как выглядит слайдер сейчас.

Я создаю слайдер следующим образом:

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

Спрайт объявлен CCNode<CCRGBAProtocol> в файле .h, и яне могу поставить .texture за этим.

Заранее большое спасибо за всю помощь и, пожалуйста, спросите, если вам нужны дополнительные спецификации.

1 Ответ

0 голосов
/ 24 марта 2012

Я заработал, изменив код, чтобы он использовал спрайт, а не отдельные изображения.

Я изменил это:

self.trackImage     = [CCSprite spriteWithFile: trkImage];

К этому:

self.trackImage     = [CCSprite spriteWithSpriteFrameName: trkImage];

Я думал, что попробовал это вчера, прежде чем спрашивать, но, думаю, я слишком устал и совершил какую-то глупую ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...