直接上代码,这是自己继承的sprite子类:
<pre class="brush:cpp; toolbar: true; auto-links: false;">
class MySprite : public Sprite
{
public:
CREATE_FUNC( MySprite );
virtual bool init( );
};
bool MySprite::init( )
{
if( !Sprite::init( ) )
return false;
auto sp01 = Sprite::create( "Circle.png" );
this->addChild( sp01 );
return true;
}
下面的是调用:
auto sp01 = Sprite::create( "Brightness.png" ); sp01->setPosition( Vec2( 32 , 32 ) ); sp01->setAnchorPoint( Vec2( 0.5 , 0.5 ) ); this->addChild( sp01 ); auto sp02 = Sprite::create( "Flower.png" ); sp02->setPosition( Vec2( 64 , 64 ) ); sp02->setAnchorPoint( Vec2( 0 , 0 ) ); this->addChild( sp02 ); auto sp03 = MySprite::create( ); sp03->setPosition( Vec2( 96 , 96 ) ); sp03->setAnchorPoint( Vec2( 0.5 , 0.5 ) ); this->addChild( sp03 ); auto sp04 = MySprite::create( ); sp04->setPosition( Vec2( 128 , 128 ) ); sp04->setAnchorPoint( Vec2( 0 , 0 ) ); this->addChild( sp04 ); ``` ``` 下面的是效果,从下到上分别是sp01,02,03,04, sp01,02是直接Sprite生成,可以设置锚点,sp03,04是用继承的子sprite生成的,设置锚点就没效果。