2.9 启动文件和适配(笔记)

2024-03-18 02:48
文章标签 启动 笔记 2.9 适配

本文主要是介绍2.9 启动文件和适配(笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引擎入口:

AppDelegate 的 applicationDidFinishLaunching函数

bool AppDelegate::applicationDidFinishLaunching() {// initialize director 获得导演类auto director = Director::getInstance();// 获得画布auto glview = director->getOpenGLView();if(!glview) {glview = GLViewImpl::create("My Game");director->setOpenGLView(glview);}// turn on display FPS 是否显示帧率director->setDisplayStats(true);// set FPS. the default value is 1.0/60 if you don't call this 帧率director->setAnimationInterval(1.0 / 60);// create a scene. it's an autorelease object 场景auto scene = HelloWorld::createScene();// run 运行场景director->runWithScene(scene);return true;/*其中可以通过调用GLView 的 setDesignResolutionSize 设置游戏的分辨率大小和适配方式,设计分辨率是游戏选择的的基础分辨率,可以是一种标准机器的分辨率,也可以是根据项目的特点来确定可选的适配方式如下:1//ResolutionPolicy::SHOW_ALL屏幕宽高分别和设计分辨率宽高计算缩放因子。取较小者作为宽高的缩放因子。这种适配方式保证了设计区域全部是显示到屏幕上,可能有黑边。2//ResolutionPolicy::EXACT_FIT屏幕宽与设计宽比作为X方向的缩放因子,屏幕高与设计分辨率高之比作为Y方向的缩放因子。保证了设计区域完全铺满屏幕,但是,可能会出现图像拉伸。3// ResolutionPolicy::NO_BORDER屏幕的宽高分别与设计分辨率宽高来计算缩放因子,取较大者作为宽高的缩放因子。保证了设计区域总能一个方向上铺满屏幕,而另一个方向一般会超出屏幕区域。4// ResolutionPolicy::FIXED_HEIGHT保持传入的涉及分辨率 高度 不变,根据屏幕分辨率修正设计分辨率的宽度;4// ResolutionPolicy::FIXED_WIDTH保持传入的涉及分辨率 宽度 不变,根据屏幕分辨率修正设计分辨率的高度;注: 一般的游戏是不能容忍黑边的存在和屏幕上有部分没有显示的如下,提供一个方法j,以IOS 的屏幕分辨率宽高比为基础,对宽高比分段处理:分段处理屏幕大小适配:// sjtSize winsize = director->getVisibleSize();double ratio = winsize.height / winsize.width;// 对应iphone5及以上,并且对应 高/宽 > 1136 / 640 Android 中这种设备也不多if (ratio > 1.775){glview->setDesignResolutionSize(640, 1136, ResolutionPolicy::SHOW_ALL);}// 中间iPhone5 和iPhone4中间的,按自己跨高比处理,包括 1024 / 640的ipadelse if (ratio > 1.5){glview->setDesignResolutionSize(640, 640 * ratio, ResolutionPolicy::SHOW_ALL);}// 高 /  宽 > 1136 / 640 < 640 / 960 也不多,以下的都按照iPhone4处理,包括102 4/ 758 的ipadelse{glview->setDesignResolutionSize(640, 960, ResolutionPolicy::SHOW_ALL);}*/
}




这篇关于2.9 启动文件和适配(笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/820959

相关文章

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx