cocos2dx创建sprite的多种方法

方法一

最常用,也是最简单的一种方法

CCSprite *bg=CCSprite::create("sprite/background.jpg",CCRectMake(0,0,480,320));
    bg->setAnchorPoint(ccp(0,0));
    bg->setPosition(CCPointZero);
    addChild(bg);

方法二

利用纹理创建sprite

    CCImage *image=new CCImage();
    image->initWithImageFile("sprite/plant.png");
    CCTexture2D *texture=new CCTexture2D();
    texture->autorelease();
    texture->initWithImage(image);
    CCSprite *plant=CCSprite::createWithTexture(texture);
    plant->setPosition(ccp(100,winSize.height/2));
    addChild(plant);


方法三

将图片加载到缓存中

    CCTexture2D * texture2=CCTextureCache::sharedTextureCache()->addImage("sprite/bullet.png");
    CCSprite *bullet=CCSprite::createWithTexture(texture2);
    bullet->setPosition(ccp(200,winSize.height/2+10));
    addChild(bullet);


方法四

CCSpriteFrame方法

    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("sprite/zombie.plist");
    //CCSpriteFrame *sf=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("z_1_attack_05.png");
    //CCSprite * zombie=CCSprite::createWithSpriteFrame(sf);
    CCSprite *zombie=CCSprite::createWithSpriteFrameName("z_1_attack_06.png");
    zombie->setPosition(ccp(400,winSize.height/2-50));
    addChild(zombie);

    CCJumpBy *by=CCJumpBy::create(2,ccp(0,0),40,3);

    zombie->runAction(CCRepeatForever::create(by));

也可以直接使用spriteFrame加载sprite

    CCSpriteFrame * frame=CCSpriteFrame::create("sprite/p_1_01.png",CCRectMake(0,0,80,80));
    CCSprite *sun=CCSprite::createWithSpriteFrame(frame);
    sun->setPosition(ccp(400,winSize.height/2+100));
    addChild(sun);

 

运行结果

 
 

 

转载于:https://www.cnblogs.com/jjx2013/p/5187109.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值