位置: 编程技术 - 正文

cocos2dx关卡选择界面设计(cocos2dx入门)

编辑:rootadmin

推荐整理分享cocos2dx关卡选择界面设计(cocos2dx入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx入门,cocos2djs,cocos2dx游戏,cocos2djs,cocos2d-x教程,cocos 2d x,cocos2dx官方教程,cocos2dx官方教程,内容如对您有帮助,希望把文章链接给更多的朋友!

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

define _LEVELSEL_Hinclude “cocos2d.h”include “cocos-ext.h”include “global.h”cocos2dx关卡选择界面设计(cocos2dx入门)

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[]; 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[]; for(int i=;i<=;i+=) { Upgrade_bt = (UIButton *)(layout_sel->getChildByTag(i)); Upgrade_bt->addTouchEventListener(this, toucheventselector(LevelSel::selevent)); int idx=i/-1; UIImageView* modeuw=(UIImageView*)layout_sel->getChildByTag(i+2); if(stars[idx+curoffset]>1) { //显示数字 Upgrade_bt->loadTextures(“LevelSel_8.png”,”LevelSel_.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_.png”,”LevelSel_.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_.png”,”LevelSel_.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/+1); ((UIImageView*)layout_sel->getChildByTag(i+1))->loadTexture(str); } } bool LevelSel::init() { ////////////////////////////////////////////////////////////////////////// for(int i=0;i<;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

这是一个打酱油的Blog 递归获取子节点Node*HelloWorld::seekFromRootByName(Node*root,std::stringname){if(!root)returnnullptr;if(root-getName()==name)returnroot;constautoarrayNode=root-getChildren();for(autochild:arrayN

关于cocos3.3移植android后清空UserDefault.xml数据的问题 需要修改源码...cocos2d-x-3.3cocosbase下的CCUserDefault-android.cpp第行#defineXML_FILE_NAMEUserDefault.xml由于我们发现第行处_filePath=/data/data/getPackageNameJNI()/XML_FILE_

cocos2dx 两个重叠按钮点击响应关系 情况1:上层按钮setTouchEnabled(false),下层按钮setTouchEnabled(false);结论1:当然2个都不能点击情况2:上层按钮setTouchEnabled(false),下层按钮setTouchEnabled(true);

标签: cocos2dx入门

本文链接地址:https://www.jiuchutong.com/biancheng/368816.html 转载请保留说明!

上一篇:(1)cocos2d-x-2.2.4搭建windows开发环境

下一篇:这是一个打酱油的Blog(我是一个打酱油的怎样理解)

  • 一般纳税人企业所得税多久申报一次
  • 红冲去年暂估的费用怎么做账
  • 公司购买金蝶属于什么费用
  • 年终奖计入工伤赔偿
  • 付款人常驻国家(地区)代码及名称RU
  • 拓展费税收分类编码
  • 最近的火车票代售点
  • 物业费免交条件
  • 预交增值税设备租赁是否可抵扣
  • 银行存款支付现金股利属于什么科目
  • 小企业商品销售的入账价格
  • 购物返现活动文案
  • 企业的定期存款
  • 材料成本差异怎么理解
  • 房产税细节
  • 员工福利费是不是加班费
  • 已经认证的进项税转出
  • 统计应交增值税怎么算
  • 发票的金额可以答应客户多开
  • 喷绘广告公司税率是多少
  • 月末结转增值税附加税的账务处理
  • 科目余额表借方和贷方
  • 企业集团内部各所属单位之间
  • 怎么计算附加税税率
  • 制造业企业存货管理论文
  • 生产部门设备折旧费
  • 物业公司营业成本包括哪些
  • 金融商品转让的增值税怎么计算
  • uniapp 嵌套webview
  • 企业注销时实收资本需要交税吗
  • 一般纳税人怎么交税
  • 报销是可以直接拿钱的吧
  • 持有至到期投资在资产负债表怎么填
  • php的超级全局变量
  • 外汇差额核销条件
  • php执行脚本
  • yii2项目实战之restful api授权验证详解
  • 金银首饰消费税计税依据
  • 同一控制下控股合并在合并日合并报表编报正确的有
  • 环境检测费做什么科目
  • 存货的原材料分析
  • 一般纳税人收到小规模专票怎么抵扣
  • 建筑会计和会计的区别
  • ts类型声明 要为某个文件里的变量声明吗
  • lua命令库
  • thinkphp制作404跳转页的简单实现方法
  • 转让旧机器的会计分录
  • 慈善组织接受股票捐赠流程
  • 劳动仲裁支付的赔偿金怎么入账
  • 研发支出可以计提吗
  • sql计算字符串中文个数
  • 长期借款期末余额表示什么
  • 季度企业所得税资产总额怎么填
  • 应补退税额是什么意思 法律
  • 利润分配怎么分配比例
  • 资产负债表的固定资产怎么算出来的
  • 免税申报表里的免税销售额是不含税
  • 退休后的税费
  • 预收账款怎么处理
  • 景区如何管理和服务
  • 经营活动产生的现金净流量怎么算
  • 明细账设置是什么意思
  • win预览版计划
  • Kaspersky Rescue Disk 2009.04.16 卡巴斯基救援盘
  • 数字签名方法不提供
  • Win10预览版怎么变回正式版
  • win8桌面在哪
  • win7保存桌面不见了怎么办
  • 微软为什么这么贵
  • win7浏览器怎么升级到最新版
  • Win10 Mobile 10586.164中文版升级截图曝光
  • opengl cullface
  • opengl(mesa) for ubuntu14.04
  • es6 new set()
  • jquery使用教程
  • Android调用系统的电话拨号程序
  • jQuery height()、innerHeight()、outerHeight()函数的区别详解
  • 落地和全包一样吗
  • 服务礼仪包括哪三点
  • 土地增值税分期清算条件?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设