Scaling frames used for playing animation

I am currently doing something like this. I am attempting to scale the frames that would be used for animation. Since the object SpriteFrame does not have the setscale method. I am creating an a Sprite type and then scaling that. After scaling the sprite I am using that to create a frame. However it seems that is not working. I know I could scale the character that would run this action but instead I would like to go this way if possible. Any suggestions on why this is not working ?

   this->a_animation=Animation::create();
    for(int i=0;i<=7;i++)
    {
        char szName[100]={0};
        sprintf(szName,"image%d.png",i); 
        Sprite* s = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(szName));
        s->setScale(0.4);
        SpriteFrame* f = s->getSpriteFrame();
        this->a_animation->addSpriteFrame(f);
    }
    this->aAction = RepeatForever::create( CCAnimate::create(this->a_animation) );

Scale doesn’t affect the sprite frame (or the underlying texture rect). It only affects the rendering by using matrix transforms. You can either scale the sprite for always. You could ScaleTo if you want to set it for each animation. You could see if Animate has a frame callback and hook into that to update the scale each time the frame is changed. You could create parallel sequence of ScaleTo actions if you need to change the scale at specific times. Spawn can be used to run parallel actions.