读书人

Cocos2d-x初入学堂(二)-gt;CCSprite基

发布时间: 2012-11-07 09:56:10 作者: rapoo

Cocos2d-x初入学堂(2)-->CCSprite基本处理

欢迎转载!转载时请注明出处: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);

好了,运行效果如下:

Cocos2d-x初入学堂(二)->CCSprite基本处理

由于人物的素材懒得找了,就直接copytest里面的素材....如果讲述得有误,或者不对的地方,还望各位指出!

源码下载地址:http://download.csdn.net/detail/aa4790139/4680230

读书人网 >操作系统

热点推荐