cocos2d-x 3.x游戏教程 - Eight 第二篇

游戏界面

上一篇已经做了个简陋的界面,调整一下,界面如下:

通过上一篇的介绍,相信做这个界面都不是什么难事了;

界面的组成元素主要有:图片(ImageView), 图集数字(TextAtlas)

连Sprite都不用了,就两个简单的UI元素,至于如何调整这些元素排列工整也要花点时间的,我就花了大概半个小时调整,需要按照各个元素的大小,然后通过手工调整和数学计算的方法调整好的,也不是什么难事,主要是时间活,大家自己琢磨一下就没问题的;

界面元素的组成结构如下

编程

接下来就可以编程了;

- 首先导出项目:

点击发布与打包:

确定之后:

再确定,然后就会自动使用vs打开的了,我这里使用的是vs2013

直接运行,也许会看到如下画面:

显示不太对,但是不要紧,只需要小小修改就可以修正:

打开AppDelegate.cpp文件,找到bool AppDelegate::applicationDidFinishLaunching()函数,设置显示属性的代码就是以下几行代码:

auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLViewImpl::createWithRect("eight", Rect(0, 0, 640, 960));
        director->setOpenGLView(glview);
    }

    director->getOpenGLView()->setDesignResolutionSize(640, 960, ResolutionPolicy::SHOW_ALL);

其中的640,960这些数字一看就知道是很分辨率适配有关的了,故此稍作如下修改就可以了:

auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLViewImpl::createWithRect("eight", Rect(0, 0, 800, 480));
        director->setOpenGLView(glview);
    }

    director->getOpenGLView()->setDesignResolutionSize(800, 480, ResolutionPolicy::SHOW_ALL);

这样可以正常显示了:

如果还不能显示,那么就可以在上面代码最后一句前面加上一句:

glview->setFrameSize(800, 480);

因为cocos版本问题,故此一时一个可能,要不要加就看版本了。

这些设置的原理,我觉得初学就不用深究了,不过如果你像本博主一样熟悉图形学的话,那么根本不用看源代码也可以马上知道其中的原理了。

恩,好了,基本设置都没问题了,代码开头了,下一篇就正式进入编程了。

后面会用到AI自动玩这个游戏哦,敬请期待。

版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者允许不得转载。

时间: 2024-10-07 15:43:55

cocos2d-x 3.x游戏教程 - Eight 第二篇的相关文章

MongoDB基础教程系列--第二篇 MongoDB基本操作(一)

1.安装环境 在官网上下载MongoDB的最新版本,根据自身Windows版本下载正确的MongoDB版本.下载后,双击32位或者64位.msi文件,按操作提示安装就可以了. 说明: 32 位版本的 MongoDB 只支持 2G 以下的数据库,只适用于测试及评估. 在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统.最新版本也已经没有了 32 位系统的安装文件. 创建数据目录 安装完MongoDB以后,我们需要创建数据目录.注意,数据目录应该放在根目录下(如: C:\ 或

Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-2

1 MATLAB并行计算-从个人桌面到远程集群和云(陈伟/魏奋)视频摘录笔记 https://cn.mathworks.com/videos/parallel-computing-with-matlab-92865.html 2 数据.硬件和算法,MATLAB发展的方向 3 MATLAB并行计算工具的介绍 内嵌多线程(隐式) --MATLAB 内核函数和图像处理工具箱 --矩阵操作(linear algebra,fft,filter,etc) --无须代码修改 并行计算产品(显式) --Para

Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-利用GPU并行执行MATLAB程序

1 MATLAB原文: 如果所有你想使用的函数支持GPU,你能够使用gpuArray把输入的数据传输到GPU,也能够唤起gather命令把传输值GPU的数据回收. 2 通过gpuDevice命令观察当前电脑的GPU设备 >> gpuDevice ans = CUDADevice (具有属性): Name: 'GeForce GT 430' % GPU设备的型号 Index: 1 % 当前GPU设备的编号 ComputeCapability: '2.1' % 计算能力 SupportsDoubl

史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

最新Finchley版本:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f2-ribbon/或者http://blog.csdn.net/forezp/article/details/81040946 在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是fe

Matlab高级教程_第二篇:Matlab2016a和VS2013混合

1. 首先把VS2017的XML两个配置文件放到 2. 然后一步一步的进行选择: 3. 2016版本的deploytool工具已经改版了,具体详细使用如下 4. 编写一个测试函数 我们编译成C#语言的 原文地址:https://www.cnblogs.com/noah0532/p/9834016.html

Matlab高级教程_第二篇:关于MATLAB转C#过程中MWArray到C#数组,C#数组到MWArray相互转换

Matlab传递数据时使用的方法,那么Matlab计算完成后在C#中应该怎么获取它的计算数据呢? 需要遵循两个基本步骤: 弄清楚Matlab函数传回的数据到底是什么格式?struct?cell?char?抑或是numeric?将MWArray转化为对应的MW****Array并从MW****Array中获取所需的数据如何传递数据从MWArray到C#中的数字MWNumericArray中的数据可以转化为Byte.double.float.integer.long和short类型,一般常用的就是i

Swift语言Storyboard教程:第二部

本文由CocoaChina翻译小组@TurtleFromMars翻译自raywenderlich,原文:Storyboards Tutorial in Swift: Part 2 更新记录:该Storyboard教程由Caroline Begbie更新iOS 8和Swift相关内容.原文作者为教程编纂组的成员Matthijs Hollemans. 2014/12/5更新:更新至 Xcode 6.2 Beta. 如果你想学习Storyboard,你来对地方了! 在本系列Storyboard教程的第

[转] 擎天哥as3教程系列第二回——性能优化

所谓性能优化主要是让游戏loading和运行的时候不卡. 一  优化fla导出的swf的体积? 1,  在flash中,舞台上的元件最多,生成的swf越大,库里面有连接名的元件越多,swf越大.当舞台上没有元件且库里面的元件没有连接名的话生成的swf最小. 2,  一个flash动画有10帧,10帧上面全部是位图和用一个位图播放器播放这10张图片谁消耗的cpu更高? 答:flash动画播放消耗性能更高,因为swf文件里虽然也是位图,但是swf里面的播放机制是能播放位图,矢量图,声音,视频等.所以

Quick-Cocos2d-x初学者游戏教程(二) -------------------- Quick内部的代码结构及相应的原理

Quick-Cocos2d-x初学者游戏教程(二) 上一章我们已经了解了Quick的一些基础知识,所以本章我们将开始深入到Quick内部,了解它内部的代码结构,同时在解析的过程中学到相应的原理,并学会如何修改.添加相应的代码文件,比如实现屏幕的分辨率适配. 前面我们创建了一个叫做parkour的游戏项目,其意思就是本人本来打算要做一个跑酷游戏的,但是因为这几天玩了一款叫做<el>的飞行游戏,非常有意境,并且几乎零差评,所以请允许我任性一下,善变的我不想做跑酷游戏了,而是想要挑战下这种类型的游戏