標籤:顯示 font xtu san ddc img visible top cocos2d
序言
回想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
====================== 相互學習,共同進步 ===================
[windows+cocos2dx]CCSprite精靈類