Create and animate new sprite. Bug or don't understand cocos2D architecture

I created new BlockSprite extend cc.Sprite and added to cc.Layer on ‘onEnter’ or ‘ccTouchesEnded’ method.
BlockSprite has animation. I created animation and executed:
@
this.runAction(cc.RepeatForever.create(this._animation));
@
BlockSprite was draw and animate.
When I created BlockSprite and added in schedule method. It didn’t animate or draw BlockSprite. It had BlockSprite._texture field equal new Texture2D (didn’t have image for draw).
When I created animation and executed:
@
this.initWithSpriteFrame(this._firstFrame);
this.runAction(cc.RepeatForever.create(this._animation));
@
After this initialisation, I can create BlockSprite somewhere.
What is that bug or feature? :slight_smile:
Thanks!