[windows+cocos2dx]CCSprite精灵类
来源:互联网 发布:1984书评知乎 编辑:程序博客网 时间:2024/05/12 10:24
序言
回顾cocos2dx,之前在mac+Xcode平台学习了一遍cocos2dx,一年时间不接触cocos了,一直在搞Unity3d,现在还是就之前所学温故温故,但不再用Xcode来写,用常用的Windows+VS2012做为开发环境来回顾cocos2dx。从CCSprite精灵类开始回顾起。
CCSprite多种创建方式
创建CCSprite精灵类有好多中方式,好多构造函数,这里列举集中创建形式,包括要显示某个部分和缓存帧,2D贴图创建和普通创建等。
if ( !CCLayer::init() ) { return false; } CCSize size = CCDirector::sharedDirector()->getWinSize();//加载精灵//方式一CCSprite *sprite = CCSprite::create("icon.png"); //123px*123px的图片sprite->setPosition(ccp(size.width*0.2,size.height*0.7));this->addChild(sprite);//方式二//设置显示区域CCSprite *sprite1 = CCSprite::create("icon.png",CCRect(0,0,60,60)); //只取60px*60px的图片sprite1->setPosition(ccp(size.width*0.5,size.height*0.7));this->addChild(sprite1);//方式三//创建2d文理来创建精灵CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("icon.png");CCSprite *sprite2 = CCSprite::createWithTexture(texture);sprite2->setPosition(ccp(size.width*0.8,size.height*0.7));this->addChild(sprite2);//方式四//还是设置显示区域CCSprite *sprite3 = CCSprite::createWithTexture(texture,CCRect(61.5,61.5,61.5,61.5));sprite3->setPosition(ccp(size.width*0.2,size.height*0.3));this->addChild(sprite3); //方式五//缓存帧CCSpriteFrame *frame = CCSpriteFrame::create("icon.png",CCRect(0,0,61.5,61.5));CCSprite *sprite4 = CCSprite::createWithSpriteFrame(frame);sprite4->setPosition(ccp(size.width*0.5,size.height*0.3));this->addChild(sprite4);//方式六/*CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("img.plist");CCSprite *sprite5 = CCSprite::createWithSpriteFrameName("icon.png");sprite5->setPosition(ccp(size.width*0.7,size.height*0.3));this->addChild(sprite5);*/
CCSprite缩小和放大
CCSprite->SetScale():参数介于0~无穷,就可实现精灵的放大和缩小功能。
//精灵的缩小和放大CCSprite *spriteS= CCSprite::create("icon.png"); //123px*123px的图片spriteS->setPosition(ccp(size.width*0.2,size.height*0.5));spriteS->setScale(0.5f);this->addChild(spriteS);CCSprite *spriteM = CCSprite::create("icon.png"); //123px*123px的图片spriteM->setPosition(ccp(size.width*0.7,size.height*0.5));spriteM->setScale(1.5f);this->addChild(spriteM);
SetScaleX,SetScaleY是只针对X、Y方向的缩放
例如:sprite->setScaleX(1.5f); sprite2->setScaleY(1.5f);
CCSprite旋转
CCSprite->setRotation();参数是度数,正数代表顺时针旋转多少度,负数代表逆时针旋转多少度。//精灵的旋转CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));spriteL->setRotation(30.0f);this->addChild(spriteL);CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片spriteR->setPosition(ccp(size.width*0.8,size.height*0.5));spriteR->setRotation(-30.0f);this->addChild(spriteR);
CCSprite倾斜
CCSprite->setSkewY();参数是度数,正数代表顺时针倾斜多少度,负数代表逆时针倾斜多少度。
//精灵的倾斜CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));spriteL->setSkewY(30.0f);this->addChild(spriteL);CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片spriteR->setPosition(ccp(size.width*0.8,size.height*0.5));spriteR->setSkewY(-30.0f);this->addChild(spriteR);
CCSprite设置不可见和变色
//精灵可见和变色//设置不可见CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));spriteL->setVisible(false);this->addChild(spriteL);//变成红色CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片spriteR->setPosition(ccp(size.width*0.8,size.height*0.5));spriteR->setColor(ccc3(255,0,0));this->addChild(spriteR);
CCSprite设置透明度
//设置透明度CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));spriteL->setOpacity(100);//0~255this->addChild(spriteL);CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片spriteR->setPosition(ccp(size.width*0.7,size.height*0.5));spriteR->setOpacity(230);//0~255this->addChild(spriteR);
CCSprite替换图片
//替换图片CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片spriteR->setPosition(ccp(size.width*0.7,size.height*0.5));spriteR->setOpacity(230);//0~255this->addChild(spriteR);spriteR->setTexture(CCTextureCache::sharedTextureCache()->addImage("CloseNormal.png"));
欢迎关注我的围脖
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:375151422 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
0 0
- [windows+cocos2dx]CCSprite精灵类
- cocos2dx中的精灵CCSprite
- [cocos2dx]可视元素——CCSprite精灵类
- 精灵类CCSprite
- cocos2dx CCSprite 精灵的常用函数
- Cocos2dx中精灵(CCSprite)、动画创建
- CCSprite:精灵
- 精灵(CCSprite)
- CCSprite精灵
- Cocos2d-x(七)精灵类CCSprite
- Cocos2dx 精灵类-Sprite
- CCSprite 精灵动画
- CCSprite 精灵使用
- CCSprite精灵的使用
- CCSprite 精灵使用
- CCSprite 精灵使用
- Cocos2dx CrazyTetris 自定义精灵类 继承精灵
- 【玩转cocos2d-x之八】精灵类CCSprite
- 描述:override保留字表示当前函数重写了基类的虚函数。
- 几种必知的oracle结构图
- Java中的String类
- 《VS2010中给VC开发的应用添加Installer》
- C++11教程0 Welcome back to C++!
- [windows+cocos2dx]CCSprite精灵类
- 使用rewrite中的301转移权重到一起
- 10.9
- 2014-6-18任务完成情况
- 现货交易常见的投资模式
- 所谓自救
- 手游过时了?开发者转向安卓电视平台
- LogBack的使用
- Lua基础知识