3.3 CCSprite 精灵详解

本文介绍了Cocos2d-x中创建精灵对象的4种常用方法,包括直接通过图片文件生成精灵、指定区域裁剪生成、使用帧缓存中的帧名称生成以及使用自定义精灵帧生成。同时提供了示例代码演示每种方法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

3.3.1 创建精灵常用的 4 种方式 (当然还有其他方式,只不过 这四种比较常用)

//创建精灵常用的 4 种方式
    CCSprite* spr1 = CCSprite::create(const char* pszFileName);
    //作用:通过一张图片生成精灵对象
    //参数:图片名称

    CCSprite* spr2 = CCSprite::create(const char* pszFileName, const cocos2d::CCRect& rect);
    //作用:通过一张图片进行指定区域裁剪后,生成精灵对象
    //参数 1:图片名称
    //参数 2:矩形区域

    CCSprite* spr3 = CCSprite::createWithSpriteFrameName(cocos2d::CCSpriteFrame* pSpriteFrame);
    //作用:利用帧缓存中的一帧的名称生成一个精灵对象
    //参数:帧的名称

    CCSprite* spr4 = CCSprite::createWithSpriteFrame(const char* pszSpriteFrameName);
    //作用:利用另外一帧的名称生成一个精灵对象
    //参数:精灵对象

    //示例代码
    //First:
    CCSprite* spr1 = CCSprite::create("Icon.png");
    spr1->setPosition(ccp(70,150));
    addChild(spr1);

    //Second:
    CCSprite* spr2 = CCSprite::create("Icon.png", CCRectMake(0,0,30,30));
    spr2->setPosition(ccp(150,150));
    addChild(spr2);

    //Third:
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("test_icon.plist");
    CCSprite* spr3 = CCSprite::createWithSpriteFrameName("Icon.png");
    spr3->setPosition(ccp(230,150));
    addChild(spr3);

    //Forth:
    CCSpriteFrame* frame = CCSpriteFrame::create("Icon.png", CCRectMake(0,0,40,30));
    CCSprite* spr4 = CCSprite::createWithSpriteFrame(frame);
    spr4->setPosition(ccp(310,150));
    addChild(spr4);

 

3.3.2 精灵常用函数

setPosition(const cocos2d::CCPoint &pos);
    setRotation(float fRotation);
    setScale(float fScale);
    setScaleX(float fScaleX);
    setScaleY(float fScaleY);
    setFlipX(bool bFlipX);
    setFlipY(bool bFlipY);
    setOpacity(GLubyte opacity); //GLubyte类型 透明度值范围【0,255】 =0(全透) =255(不透明)
    setVisible(bool bVisible);
    setAnchorPoint(const cocos2d::CCPoint &anchor);
    setColor(const cocos2d::ccColor3B &color3); //ccc3(r,g,b)
    setTexture(cocos2d:CCTexture2D *texture);
    //设置其贴图
    //CCTexture2D创建方法 如下
    CCTextureCache::sharedTextureCache()->addImage(const char *fileimage);

    setTextureRect(const cocos2d::CCRect &rect);

    //以上函数都有对应的获取函数 请自行查看 探究

 

 

 

转载于:https://www.cnblogs.com/MrGreen/p/3428211.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值