Cocos2d-x初入學堂(2)–>CCSprite基本處理

來源:互聯網
上載者:User

歡迎轉載!轉載時請註明出處:http://write.blog.csdn.net/postedit/8105163

一個遊戲,我們的遊戲背景、UI背景....等等都會需要用到精靈,自然我們遊戲中的role、npc、門動畫等是必定會用到精靈的...

估計看過我前面的環境搭建和圖形繪製,應該很清楚一個新工程的建立了,如果還在建立新工程上出現問題的問題,請參看前面的文章...

照樣上傳demo代碼...

SpriteTestScene.h

#pragma once#include "cocos2d.h"#include "SpriteTestLayer.h"using namespace cocos2d;class SpriteTestScene :public CCScene{public:SpriteTestScene(void);~SpriteTestScene(void);static CCScene* scene();};

SpriteTestScene.cpp

#include "SpriteTestScene.h"SpriteTestScene::SpriteTestScene(void){}SpriteTestScene::~SpriteTestScene(void){}CCScene* SpriteTestScene::scene(){CCScene* scene=CCScene::create();SpriteTestLayer* layer=SpriteTestLayer::create();scene->addChild(layer);return scene;}

SpriteTestLayer.h

#pragma once#include "cocos2d.h"using namespace cocos2d;class SpriteTestLayer :public CCLayer{public:SpriteTestLayer(void);~SpriteTestLayer(void);// 這個方法從父類虛擬函數繼承過來,在建立HelloWorld層的時候會調用此方法    virtual bool init();  LAYER_CREATE_FUNC(SpriteTestLayer);private:typedef CCSprite* CCSPRITE;CCSPRITE m_tamara,m_grossini,m_kathia;};

SpriteTestLayer.cpp

#include "SpriteTestLayer.h"SpriteTestLayer::SpriteTestLayer(void){}bool SpriteTestLayer::init(){CCSize s=CCDirector::sharedDirector()->getWinSize();/*注意:此處的圖片加入,請不要直接copy到工程這個工程的resource下面, 啟動並執行時候是擷取不到圖片的,  工程目錄下的資源和工程路徑目錄下的資源不是同一資源,然後我在工程路徑目錄下copy新資源到resource下  面,然後重新整理工程,也重新整理不出新添加的圖片出來,暫時不知道這是為什嗎?如果有知道的朋友請給我留言...謝謝!*/CCSprite* sprite=CCSprite::create("start.png");sprite->setAnchorPoint(ccp(0,1));//設定sprite的描點,(0,1)也就是圖片的左上方sprite->setPosition(ccp(0,s.height));//設定sprite位置this->addChild(sprite);//sprite的一些基本的操作:縮放、旋轉、混色m_tamara=CCSprite::create("grossini.png");m_tamara->setScaleX( 2.5f);    m_tamara->setScaleY( -1.0f);    m_tamara->setPosition(ccp(100,70) );    m_tamara->setOpacity( 255);//RGBA值RGB+透明度值this->addChild(m_tamara);m_grossini=CCSprite::create("grossinis_sister1.png");    m_grossini->setRotation( 120);    m_grossini->setPosition( ccp(s.width/2, s.height/2));    m_grossini->setColor( ccc3( 255,0,0));this->addChild(m_grossini);m_kathia=CCSprite::create("grossinis_sister2.png");    m_kathia->setPosition( ccp(s.width-100, s.height/2));    m_kathia->setColor( ccBLUE);this->addChild(m_kathia);return true;}SpriteTestLayer::~SpriteTestLayer(void){}

然後同樣的最後:修改AppDelegate.cpp中的applicationDidFinishLaunching()方法中

  //CCScene *pScene = HelloWorld::scene();
 CCScene*pScene=SpriteTestScene::scene();

 pDirector->runWithScene(pScene);

好了,運行效果如下:

由於人物的素材懶得找了,就直接copytest裡面的素材....如果講述得有誤,或者不對的地方,還望各位指出!

源碼:http://download.csdn.net/detail/aa4790139/4680230

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.