位置: 编程技术 - 正文
推荐整理分享使用CoCos2dx-3.4开发一套可以商用的跑酷游戏 之三 初始界面的编写(1)(cocos2d怎么用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos2dx4.0教程,cocos2d-x教程,cocos2dx 开发环境,cocos2d怎么用,cocos2d怎么用,cocos2dx 开发环境,cocos2dx4.0教程,cocos2dx 开发环境,内容如对您有帮助,希望把文章链接给更多的朋友!
上次我们有看到了视频的演示,这个游戏我们是如何做出来的呢,今天我们就来学习其中的一个,初始化界面
1:首先我们假设你已经创建了cocos2d-x的工程(我用的是cocos2d-x3.4),并且是可以运行的。
2:编写Loading的界面,这一步呢,我们主要是想写一个加载进度条,这一个里面我们重点讲解其效果,并不做实际意义上的东西,新建一个LoadLayer.cpp和。h的文件
里面写加载代码如下:
//实现LoadLayer类中的init方法,初始化布景bool LoadLayer::init(){
//调用父类的初始化 if ( !CCLayer::init() ) { return false; }
time =0; //获取可见区域尺寸 CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); //获取可见区域原点坐标 CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
label = CCLabelTTF::create(" %", "Arial", );addChild(label, 3);label->setPosition( ccp(origin.xvisibleSize.width/3, origin.yvisibleSize.height/7)); //创建一个精灵对象,包含一张图片,充当背景 CCSprite* bSprite = CCSprite::create("gameBackground.png"); //设置精灵对象的位置 bSprite->setPosition(ccp(origin.x, origin.y)); bSprite->setAnchorPoint(ccp(0, 0));//设置锚点 //将背景精灵添加到布景中 this->addChild(bSprite, BACKGROUND_LEVEL_WYF); //创建标题精灵 CCSprite* tSprite = CCSprite::create("skytitle2.png"); //设置标题精灵的位置 tSprite->setPosition(ccp(origin.xvisibleSize.width/3-, origin.yvisibleSize.height/4)); tSprite->setAnchorPoint(ccp(0, 0));//设置锚点 //将标题精灵添加到布景中 this->addChild(tSprite, BACKGROUND_LEVEL_WYF1); //创建进度条背景精灵 进度条的背景图片 CCSprite* pSprite = CCSprite::create("progressbar1.png"); //设置进度条背景精灵的位置pSprite->setPosition(ccp(origin.xvisibleSize.width/3-, origin.yvisibleSize.height/7));pSprite->setAnchorPoint(ccp(0, 0));//默认锚点为0.5,0.5//将进度条背景精灵添加到布景中this->addChild(pSprite, BACKGROUND_LEVEL_WYF1);//创建一个进度条的动作CCProgressTo *to1 = CCProgressTo::create(2.5, );//创建进度条内部精灵CCProgressTimer *left = CCProgressTimer::create(CCSprite::create("progressbar2.png"));left->setType(kCCProgressTimerTypeBar);left->setMidpoint(ccp(0,0));//设置进度条从左往右走left->setBarChangeRate(ccp(1, 0));//设置变化率left->setAnchorPoint(ccp(0, 0));//设置锚点//将进度条添加到布景中pSprite->addChild(left, BACKGROUND_LEVEL_WYF2);//将进度条内部精灵 对齐到外部精灵中 实现一个整体的进度条left->setPosition(ccp(, 9));//为内部进度条设置动作序列left->runAction( CCSequence::create ( to1,//滚动动作 CCCallFuncND::create(this,callfuncND_selector(LoadLayer::callFuncProgressOver),NULL),//切换到欢迎界面 NULL ));
schedule( schedule_selector(LoadLayer::step),0.f); return true;}//进度条走完后切换到欢迎界面void LoadLayer::callFuncProgressOver(CCNode* node,void* param){gpm->goMenu();
}void LoadLayer::step(float dt){if(time<) time=2;char temp[7];sprintf(temp,"%d%%",time);label->setString(temp);}至于.h见下面
/自定义的布景类class LoadLayer : public cocos2d::CCLayer{public:cocos2d::CCLabelTTF* label ;int time;//所属管理者GameProjectMange *gpm;//背景精灵cocos2d::CCSprite *backSprite;//初始化的方法 virtual bool init(); //进度条走完切换到welcome界面的方法 void callFuncProgressOver(cocos2d::CCNode*,void*); void step(float dt); //CCPlatformMacros.h文件中定义的一个宏,创建指定类型的对象 //并做好相应的初始化与释放工作 CREATE_FUNC(LoadLayer);};
#endif
3:这里我们有用到了一个类GameProjectMange ,这个类主要是用来做跳转的,这样方面管理
使用CoCos2dx-3.4开发一套可以商用的跑酷游戏 之三 初始界面的编写(2) 本来想一篇写完,但是看来不行,重新开一个2上次讲了有一个跳转管理类的东西,在这里我将其代码贴出来,其中一个,大家可以看看是如何做的。void
fatal error LNK: 无法打开文件"libExtensions.lib" 在cocos2dx3.x开发过程中,有时候由于没有包含libExtensions.lib而导致出现如下错误:fatalerrorLNK:无法打开文件libExtensions.lib解决方案:如果你是在debug模式
无需繁琐的解析XML,cocos2d-x 3.x中最简单方便粗暴有效的数据方法-plist 转载请注明来自:blog.csdn.net/wjlpld好吧,看网上各种解析XML,CSV等等一大坨东西,解析解析。。解析的头都大了啊。。。。其实在cocos2dx中存储数据最简单
标签: cocos2d怎么用
本文链接地址:https://www.jiuchutong.com/biancheng/368901.html 转载请保留说明!友情链接: 武汉网站建设