cocos2d-x CCSpriteFrameCache

  首先得知道CCSpriteFrameCache为精灵帧缓存,那它该怎么用呢?有是什么时候该使用的呢?

   CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("Background1.plist");//通过单例创建一个单例,然后使用方法addSpriteFramesWithFile(该方法为通过一个文件添加精灵帧),我们可以把事先准备的好的图片用texturepacker  工具制作成plist和pvr.ccz文件,网上有详细的说明为什么制作动画时候回把图片制作成pvr.ccz以及plist文件,以及texturepacker工具怎么使用我不详细说明了。 

 如果你只是想通过pvr.ccz文件和plist创建一个精灵的话方法如下:

  CCSize winSize =CCDirector::sharedDirector()->getWinSize();

  CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("Background1.plist");//这个是你通过texturepacker软件生成的plist文件

    CCSprite *backGroundSprite = CCSprite::createWithSpriteFrameName("dl_menu_01a.png");//这个是你通过texturepacker软件生成的图片,这个软件可以生成很多类型的文件,有png,pvr.ccz等。

    backGroundSprite->setAnchorPoint(ccp(0,0));

    this->addChild(backGroundSprite, -1);

    如果你想通过pvr.ccz文件和plist创建一个动画的话方法如下:

//将plist属性文件中的每一帧加载到SpriteFrameCache

     CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("npc.plist");

    CCAnimation *animationnpc = CCAnimation::create();//创建一个动画对象

  animationnpc->setDelayPerUnit(0.08f);//设置动画的播放间隔时间

  char  str[10];

    for(int i = 1; i <= 4; i++)

        {

        sprintf(str, "a0%d.png",i);

        CCSpriteFrame* frame =  CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(str);

        animationnpc->addSpriteFrame(frame);

        }

    CCSprite * spritenpc=CCSprite::createWithSpriteFrame( CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("a01.png"));

    spritenpc->runAction(CCRepeatForever::create(

                                                   CCAnimate::create(animationnpc)));

    spritenpc->setPosition(ccp(100,100));

    this->addChild(spritenpc,3);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值