cocos2d-x android适配
来源:互联网 发布:cerave乳液知乎 编辑:程序博客网 时间:2024/04/29 08:19
最近一段时间都在弄cocos2d-x上面的适配问题,
怕自己以后要用了会忘记,所以想随便写写,记录下自己这段时间所收获的知识。
我的目的是同一套图可以适配到不同分辨率的屏幕,
方法主要分为两种:一种是不等比的缩放,一种是等比的缩放。
前者是分别计算出X、Y的比例然后来拉伸,而X、Y的比例很可能不一样,主要的话会引起图片的变形,在某些分辨率可能看起来不太好看。
后者是分别计算出X、Y的比例,取小的比例来同比例拉伸X、Y,这样图片虽然不会变形,但是大多数机型显示的图片不能充满整个屏幕,会留出一定的黑边。
等比缩放方法的实现,cocos2d-x这个引擎已经帮我们封装好了,我们只要在main.cpp里面加入view->create(480, 320);就好了。这时在android上面显示的就是以480*320的大小来缩放的效果,显示在屏幕正中,两边留出了黑边。
不等比缩放方法的实现,不单单要在main.cpp中加入函数,还要去改cocos2d-x的底层代码。
只要改CCEGLView_android.h、CCEGLView_android.cpp、TouchesJni.cpp这三个就行了,它们都在cocos2dx/platform/android/下。
进入CCEGLView_android.cpp可以看出缩放是通过m_fScreenScaleFactor这个参数来实现的,等比缩放的比例都是一样的所以只有一个值,但是要实现不等比缩放就必须要两个变量来表示X、Y的缩放比例,所以添加了m_fScreenScaleFactorW、m_fScreenScaleFactorY分别表示X、Y的缩放比例。
然后在setViewPortInPoints()、setScissorInPoints()中改变对应的比例,这样窗口显示的大小就OK了。
但是窗口显示是对了但是点击还没有处理,所以还要在TouchesJni.cpp中改变touchesBegin()、touchesMove()、touchesEnd()、touchesCancel()中改变获取点击的比例。
- cocos2d-x android适配
- cocos2d-x转android
- android cocos2d-x 编译
- cocos2d-x android配置
- Cocos2d-x Android配置
- android cocos2d-x libjson
- cocos2d-x android 调试
- Cocos2d-X Android移植
- Cocos2d-x 发布 Android
- COCOS2D-X ANDROID BOX2D
- android&cocos2d-x
- cocos2d-x---Android打包
- 【Cocos2d-x】Mac 上 Cocos2d-x 3.X 打包Android
- cocos2d-x编译android心得
- [cocos2d-x]Win32移植android
- cocos2d-x Android环境搭建
- cocos2d-x android 环境搭建
- cocos2d-x移植Android问题
- Solaris中dd命令还原系统记录
- 转给自己看的
- GSL】GNU Scientific Library 科学计算库VS2010安装配置
- c# Windows Forms Application中的DataGridView的数据指定列绑定 简单小例子
- 细说Asp.net的IP地址屏蔽功能设计
- cocos2d-x android适配
- iOS App 自定义 URL Scheme 设计
- Aspose.Words for .NET动态生成word文档中的图片或水印
- 苹果手机黑屏了,怎么办?
- WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门
- 数据结构学习之数组栈实现
- C#+ArcEngine打印横向和纵向调整
- 放手的伤感日志分享:你单身,我等你。
- CDhtmlDialog的粗浅使用