cocos2dx关卡选择界面设计

cocos2dx关卡选择界面设计,第1张

概述重点内容 做游戏时候经常用到关卡选择,写了个关卡选择界面逻辑类,关卡解锁,关卡类型显示,打过的关卡星级评定,一共六大关,每个大关10个小关,ui使用cocostudio编辑,代码如下: LevelSel.h文件 #ifndef _LEVELSEL_H define _LEVELSEL_H include “cocos2d.h” include “cocos-ext.h” include “glob

重点内容 做游戏时候经常用到关卡选择,写了个关卡选择界面逻辑类,关卡解锁,关卡类型显示,打过的关卡星级评定,一共六大关,每个大关10个小关,ui使用cocostudio编辑,代码如下:
LevelSel.h文件
#ifndef _LEVELSEL_H

define _LEVELSEL_H include “cocos2d.h” include “cocos-ext.h” include “global.h”

using namespace cocos2d;
using namespace cocos2d::extension;
class LevelSel : public cclayer
{
public:
CREATE_FUNC(LevelSel);
bool init();
voID selevent(CCObject *pSender,touchEventType type);
voID pageVIEwEvent(CCObject *pSender,PageVIEwEventType type);
voID update(float delta);
voID onEnter();
UIPageVIEw* pageVIEw;
Layout* layout_sel;
voID refreshsel(int offset);
voID aaaaa();
//////////////////////////////////////////////////////////////////////////
int stars[60];
int presel,cursel;
int curlevel;
};

endif

LevelSel.cpp文件

include “LevelSel.h” include “Modules/Archive.h” include “Scene/MapPrepareScene.h” include “Common/EnterStageDataExchange.h” include “PropLayer.h”

voID LevelSel::refreshsel(int curoffset) { UIbutton* Upgrade_bt; char str[128]; for(int i=1000;i<=10000;i+=1000) { Upgrade_bt = (UIbutton *)(layout_sel->getChildByTag(i)); Upgrade_bt->addtouchEventListener(this,toucheventselector(LevelSel::selevent)); int IDx=i/1000-1; UIImageVIEw* modeuw=(UIImageVIEw*)layout_sel->getChildByTag(i+2); if(stars[IDx+curoffset]>1) { //显示数字 Upgrade_bt->loadTextures(“LevelSel_8.png”,”LevelSel_16.png”,”“,UI_TEX_TYPE_PList); Upgrade_bt = (UIbutton *)(layout_sel->getChildByTag(i+9)); sprintf(str,”num_%d.png”,IDx+1); Upgrade_bt->loadTextures(str,str,UI_TEX_TYPE_PList); for(int j=0;j<6;++j) { layout_sel->getChildByTag(i+3+j)->setVisible(true); } for(int j=8;j>5+stars[IDx+curoffset]-1;–j) { layout_sel->getChildByTag(i+j)->setVisible(false); } } else if(stars[IDx+curoffset]==1) { //显示当前 Upgrade_bt->loadTextures(“LevelSel_14.png”,”LevelSel_15.png”,UI_TEX_TYPE_PList); for(int j=0;j<3;++j) { layout_sel->getChildByTag(i+3+j)->setVisible(true); } for(int j=3;j<6;++j) { layout_sel->getChildByTag(i+3+j)->setVisible(false); } } else { //锁定 Upgrade_bt->loadTextures(“LevelSel_19.png”,”LevelSel_20.png”,UI_TEX_TYPE_PList); for(int j=0;j<6;++j) { layout_sel->getChildByTag(i+3+j)->setVisible(false); } modeuw->setVisible(false); } if(stars[IDx+curoffset]>=1) { //特殊模式 int levelID=curoffset+IDx; int mode=(cdataSystem::GetLevelParanew(levelID,CGameDB::GetInstance()->Gettable(table_ID_LEVEL_DATA)))->m_completeType; modeuw->setVisible(true); if(stars[IDx+curoffset]==1) { sprintf(str,”LevelSel_1/level_mode_0_1.png”); modeuw->loadTexture(str); } else if(mode==GAME_MODE_NEARWEAPON)//近战模式 { sprintf(str,”LevelSel_1/level_mode_2_1.png”); modeuw->loadTexture(str); } else if(mode==GAME_MODE_REMOTEWEAPON)//远程模式 { sprintf(str,”LevelSel_1/level_mode_5_1.png”); modeuw->loadTexture(str); } else if(mode==GAME_MODE_SCATTER)//防御模式 { sprintf(str,”LevelSel_1/level_mode_3_1.png”); modeuw->loadTexture(str); } else if(mode==GAME_MODE_BALL)//铁球模式 { sprintf(str,”LevelSel_1/level_mode_4_1.png”); modeuw->loadTexture(str); } else if(mode==GAME_MODE_BOSS)//BOSS模式 { sprintf(str,”LevelSel_1/level_mode_1_1.png”); modeuw->loadTexture(str); } else { modeuw->setVisible(false); } } //背景图 sprintf(str,”LevelSel_1/level_bk_%d.png”,curoffset/10+1); ((UIImageVIEw*)layout_sel->getChildByTag(i+1))->loadTexture(str); } } bool LevelSel::init() { ////////////////////////////////////////////////////////////////////////// for(int i=0;i<60;i++) { stars[i]=CArchive::GetInstance()->GetStageUnlock(i); if(stars[i]==1) curlevel=i; } if(!CGameDB::GetInstance()->Gettable(table_ID_LEVEL_DATA)) CGameDB::GetInstance()->Loadtable(table_ID_LEVEL_DATA,table_TYPE_CSV); ////////////////////////////////////////////////////////////////////////// UILayer* baseUILayer=cocos2d::extension::UILayer::create(); Layout *Widget = dynamic_cast

总结

以上是内存溢出为你收集整理的cocos2dx关卡选择界面设计全部内容,希望文章能够帮你解决cocos2dx关卡选择界面设计所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1060935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存