[windows+cocos2dx]CCSprite精靈類

來源:互聯網
上載者:User

標籤:顯示   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精靈類

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.