• cocos2dx-3.3版本安卓环境配置以及屏幕适配


      在新的版本下,一些解决方案也随之不同。今天就遇见两个需要注意的地方,第一个是安卓环境新的配置方法;第二个是分辨率的设置与适配。

      先说新的配置方法。其实本质上我感觉和2.2.2版本的配置方案是差不多的,只不过更加简单了(不用再手动的配置NDK了)。配置方法在官网上也有:http://cocos2d-x.org/programmersguide/B/index.html,不过其中也有些需要注意,故作整理。

      比起以前的配置方法,要多做两个步骤(这两个步骤具体为何,我尚不清楚,不过感觉无妨):

      1.添加JAVA_HOME环境变量,内容是jdk的目录;

      2.下载解压ANT,添加其根目录下bin目录到PATH环境变量。下载地址:http://pan.baidu.com/s/1i3szmEp

      接下来在命令行下运行引擎根目录下的setup.py,根据提示,设置NDK, Android SDK, ANT的目录,这里要注意的是,ANT的配置目录不是其根目录,而是其根目录下的bin目录。之后,在Elipse下面添加、运行项目的方式和以前是一样的。但这里又会出现问题。我在实际运行中,出现了编译错误:format not a string literal and no format arguments [-Werror=format-security],出错的代码是:sprintf(buf, lessons[i]); 即一个非常普通的c语言代码。通过网上查阅才解决了问题,据说是NDK与Eclipse的版本不兼容问题,只要在对应项目的Application.mk添加一句APP_CFLAGS += -Wno-error=format-security就可以了,意思是无视这个error。

      问题还没有结束,接下来的问题也是本文最开始提出的第二个注意点:分辨率的设置与适配。在安卓环境下成功编译好项目并运行后,发现屏幕显示歪曲,并且没有触摸反应。最后也是在网上查阅才找到原因。

      新版本中好像没有设置屏幕分辨率的代码,采用了默认模式(旧版本中是在main函数中设置的)。解决方法是,在AppDelegate.cpp里,添加一行代码:

    glview->setDesignResolutionSize(640,480, kResolutionShowAll);

      还要还注意的是:

      1.似乎不能用setFrameSize函数了,不然还会出现问题;

      2.这其实是一个分辨率适配的代码,并不是游戏窗口大小的设置。因此后续学习肯定还有问题。。

  • 相关阅读:
    将CSV格式的文件导入到数据中
    查询及删除数据重复记录的方法
    创建job
    存储过程动态创建表,以时间给表命名
    索引表空间
    sequence 作为序列插入值不是第一个
    2.类(对象)之间的关系
    1.类和对象
    angularJS1笔记-(1)-多控制器
    angularJS中$apply()方法详解
  • 原文地址:https://www.cnblogs.com/demon90s/p/4440129.html
Copyright © 2020-2023  润新知