cocos2d ccsprite анимация - PullRequest
       5

cocos2d ccsprite анимация

0 голосов
/ 24 августа 2010

Я работаю над приложением для iphone, и я новичок в cocos2d и цели c.У меня возникли проблемы с размещением спрайтовой анимации так, как я хочу.У меня есть фоновый спрайт и второй анимационный спрайт, который проходит через него.В этом случае фоном является человек, а спрайтом анимации - мигающие глаза.

CGSize winSize = [[CCDirector sharedDirector] winSize];

        CCSprite * bg = [CCSprite spriteWithFile:@"victory.png"];
        [bg setPosition:ccp(240, 160)];
        [self addChild:bg z:0];

        kidSheetBlinking = [CCSpriteSheet spriteSheetWithFile:@"victory_eyes.png"];
        [self addChild:kidSheetBlinking z:0];

        // create the sprite
        kidSpriteBlinking = [CCSprite spriteWithTexture:kidSheetBlinking.texture rect:CGRectMake(0, 0, 80, 38)];
        [kidSheetBlinking addChild:kidSpriteBlinking];

        kidSpriteBlinking.position = ccp(winSize.width/2+15,winSize.height/2+62);

        // create the animation
        kidBlinking1 = [CCAnimation animationWithName:@"blinking1" delay:0.1f];

        for (int x = 2; x > 0; x--) {
            CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:kidSheetBlinking.texture rect:CGRectMake(x*80,0*38,80,38) offset:ccp(0,0)];
            [kidBlinking1 addFrame:frame];

        }

        for (int x = 0; x < 3; x++) {
            CCSpriteFrame *frame = [CCSpriteFrame frameWithTexture:kidSheetBlinking.texture rect:CGRectMake(x*80,0*38,80,38) offset:ccp(0,0)];
            [kidBlinking1 addFrame:frame];


        }


        // create the action
        kidBlinkingAction1 = [CCAnimate actionWithAnimation:kidBlinking1 ];
        id play = [CCCallFunc actionWithTarget:self selector:@selector(onKidAnimEnd)];

        // run the action
        [kidSpriteBlinking runAction:[CCSequence actions:kidBlinkingAction1,play, nil]];

png глаз победы - 240x38, так что 3 кадра в 80x38 мне кажутся правильными.но по какой-то причине я не могу заставить анимацию выровняться правильно с изображением под ним.Кажется, что вокруг спрайтовой анимации тоже есть тонкая линия.Я много раз пытался перемещать спрайт, чтобы выстроить его в линию, чтобы не было просто переместить его.Я должен пропустить что-то еще.любые идеи будут великолепны.это мое первое приложение, так что, если я ничего не знаю, кто-нибудь может придумать что-нибудь, на что я мог посмотреть, спасибо G

1 Ответ

0 голосов
/ 25 августа 2010

Посмотрите на режимы наложения:

FAQ по cocos2d

Прокрутите страницу вниз до устранения неполадок и посмотрите три примера режимов наложения - возможно, это решит вашу проблему стонкая линия вокруг спрайта.

Что касается проблемы позиционирования, если кажется, что она выровнена только на один пиксель, возможно, это связанная проблема.Однако, если это не исчезнет, ​​вы можете опубликовать несколько скриншотов, так как я не уверен, что точно понял, что вы имеете в виду ...

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