发布时间:2023-11-29 16:05:18 浏览量:98次
上篇简单介绍了Cocos2d-x的元素,包括导演、节点、场景、图层、精灵等,今天开始进入Cocos2d-x的基础学习,着重介绍Cocos2d-x中UI系统的基础,包括显示文字、图案、菜单等内容。Cocos2d-x UI系统自带的UI组件包括了标签Label、菜单Menu等,与其他开发框架不同,Cocos2d-x提供的UI种类并不多,主要依靠开发者自行组合创造自己需要的控件,这就需要开发者必须深刻掌握各种控件的特点,才能够做到灵活运用。
在Cocos2d-x中要显示文字就需要用到Label控件。
auto label1 = Label::create("hello world!","Arial",36,Size::ZERO,TextHAlignment::LEFT,TextVAlignment::TOP); label1->setPosition(200,300); this->addChild(label1); //使用系统自带字体 TTFconfig ttfconfig("fonts/arial.ttf",26); auto label2 = Label::createWithTTF(ttfconfig,"hello world!"); label2->setPosition(200,250); //设置阴影 label2->enableShdow(Color4B::GREEN,Size(5,5)); //设置边框 label2->enableOutline(Color4B::RED,3); this->addChild(label2);
Cocos2d-x中显示图像是通过精灵类显示的。在Cocos2d-x中游戏的每一个角色、怪物、道具都可以理解成是一个精灵,游戏背景是一种特殊的精灵。
//获取屏幕尺寸 Size size = Director::getInstance()->getVisibleSize(); //创建背景图像 auto* background = Sprite::create("background.jpg"); //图像居中显示 background->setPosition(size.width/2,size.height/2); //背景图片缩小尺寸 background->setScale(0.7f); this->addChild(background);
按钮菜单在游戏中经常使用,Cocos2d-x中按钮菜单通过图片创建后,添加回调事件。
//button1正常状态按钮,button2按钮被按下后状态,MenuSelector回调事件 auto* button = MenuItemImage::create("button1.png","button2.png",this,menu_selector(HelloWorld::MenuSelector)); void HelloWorld::MenuSelector(){ CCLOG("button1被按下了!"); }
Cocos2d-x中提供了5中屏幕适配方案,分别是:EXACT_FIT、SHOW_ALL、FIXED_HEIGHT、FIXED_WIDTH、NO_BORDER。而Cocos2d-x中经常使用的有两种,一种为SHOW_ALL,一种为NO_BORDER,下面主要介绍这两种:
SHOW_ALL牺牲一部分屏幕面积,解决游戏画面根据屏幕尺寸自动放大缩小,保证显示区域的宽高比,使游戏更容易设计。
NO_BORDER则采用了相反的思想,保证宽高比的前提下牺牲一部分可是面积来达到最大利用屏幕可视区域的目的。
Cocos2d-x中音乐的播放也可以理解为一种显示方式。
#include "SimpleAudioEngine.h" USING_NS_CC; using namespace CocosDenshion; bool HelloWorld::init(){ if(!Layer::init()){ return false; } //向屏幕添加内容 is_paused = false; //播放按钮 auto* lable_play = Label::create("play","Arial",40); auto* pLabel_play = MenuItemLabel::create(lable_play,this,menu_selector(HelloWorld::play)); auto* button_play = Mune::create(pLabel_play,NULL); button_play->setPosition(200,150); this->addChild(button_play); return true; } void HelloWorld::play(Cocos2d::Object* pSender){ if(is_paused){ SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } else{ SimpleAudioEngine::sharedEngine()->playBackgroundMusic("music.mp3"); } is_paused = false; }
今天小编先讲这么多,大家有兴趣的可以先下载Cocos2d-x引擎,自己搭建环境,跑起来试试,后面小编会带着大家往下一步一步深入,如果有兴趣的同学,可以关注小编,持续学习,有了cocos2d-x这款神器,游戏开发不再是梦。
热门资讯
探讨游戏引擎的文章,介绍了10款游戏引擎及其代表作品,涵盖了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戏设计领域和数字艺术教育的重要性,欢迎点击咨询报名。
游戏中玩家将面临武侠人生的挣扎抉择,战或降?杀或放?每个抉定都将触发更多爱恨纠葛的精彩奇遇。《天命奇御》具有多线剧情多结局,不限主线发展,高自由...
3. 手机游戏如何开发(如何制作传奇手游,都需要准备些什么?)
如何制作传奇手游,都需要准备些什么?提到传奇手游相信大家都不陌生,他是许多80、90后的回忆;从起初的端游到现在的手游,说明时代在进步游戏在更新,更趋于方便化移动化。而如果我们想要制作一款传奇手游的
UI设计师、动画设计师、特效设计师每一个职位的功能和负责的方面都不同。所以,3D美术这方面需要大量的人才。但是要成为一个3D游戏建模师,也不是那么...
三昧动漫对于著名ARPG游戏《巫师》系列,最近CD Projekt 的高层回应并不会推出《巫师4》。因为《巫师》系列在策划的时候一直定位在“三部曲”的故事框架,所以在游戏的出品上不可能出现《巫师4》
6. 3D动画软件你知道几个?3ds Max、Blender、Maya、Houdini大比拼
当提到3D动画软件或动画工具时,指的是数字内容创建工具。它是用于造型、建模以及绘制3D美术动画的软件程序。但是,在3D动画软件中还包含了其他类型的...
7. 传奇游戏开发一个多少钱(做一款传奇类的游戏需要多少钱?)
做一款传奇类的游戏需要多少钱?一.做一款传奇类的游戏大概需要多少钱? 1.开发这样一款游戏,一开始投入的资金大概在15-20万左右,时间越长,投入的金额就越大。你开发的游戏需要扩展服务器和一些宣传
8. 开发一款游戏引擎很难吗?为什么国内好像没有自己的游戏引擎。
开发一款游戏引擎很难吗?为什么国内好像没有自己的游戏引擎。
想让你的3D打印模型更坚固?不妨尝试一下Cura参数设置和设计技巧,让你轻松掌握!
虚幻引擎5上线后带来了高配置要求的问题,游戏优化一直是难题。本文通过几款游戏实例,探讨虚幻引擎5的配置需求和优化问题,引发对游戏优化责任的思考。
最新文章
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!