quick-cocos2d-x 3.3rc0 与 2.2.5的区别(三)真机上设置横屏与竖屏

quick-cocos2d-x 3.3rc0 与 2.2.5的区别(三)真机上设置横屏与竖屏,第1张

概述    今天把样例编译的真机上,发现是横屏显示,我在模拟器上是竖屏显示的。按照2.2.5版本修改属性后还是没有改变,最后发现3.3rc0有所改动!     2.2.5版本,在真机上显示横屏与竖屏,只需在java层修改android:screenOrientation属性,竖屏:portrait;横屏:landscape;         3.3rc0版本,多了如下代码:              

今天把样例编译的真机上,发现是横屏显示,我在模拟器上是竖屏显示的。按照2.2.5版本修改属性后还是没有改变,最后发现3.3rc0有所改动!

2.2.5版本,在真机上显示横屏与竖屏,只需在java层修改androID:screenorIEntation属性,竖屏:portrait;横屏:landscape;

650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" title="QQ截图20141127155342.png" alt="wKioL1R22SThKf1YAACGuQrd4nU371.jpg" src="http://s3.51cto.com/wyfs02/M00/54/0F/wKioL1R22SThKf1YAACGuQrd4nU371.jpg">

3.3rc0版本,多了如下代码:

650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" title="QQ截图20141127155630.png" alt="wKiom1R22VfCJ5d0AAC1hMPzHKA553.jpg" src="http://s3.51cto.com/wyfs02/M02/54/10/wKiom1R22VfCJ5d0AAC1hMPzHKA553.jpg">

因为这个导致修改androID:screenorIEntation属性无效了,nativeIsLandScape是个什么东西呢?在java层声明如下:

privatestaticnativebooleannativeIsLandScape();

这个函数是C++层实现的,在项目jni/hellolua/main.cpp里面可以看到如下代码:

extern"C"{	boolJava_org_cocos2dx_lua_AppActivity_nativeIsLandScape(jnienv*env,jobjectthisz)	{		returnConfigParser::getInstance()->isLanscape();	}	boolJava_org_cocos2dx_lua_AppActivity_nativeIsDeBUG(jnienv*env,jobjectthisz)	{#if(COCOS2D_DEBUG>0)returntrue;#elsereturnfalse;#endif	}}

在ConfigParser类里面可以看见如下代码:

if(objectinitVIEw.HasMember("isLandscape")&&objectinitVIEw["isLandscape"].IsBool()){_isLandscape=objectinitVIEw["isLandscape"].GetBool();}
ConfigParser::ConfigParser(voID):_isLandscape(true),_isWindowtop(false),_consolePort(CONSolE_PORT),_uploadPort(UPLOAD_PORT),_vIEwname("TimberMan"),_entryfile("src/main.lua"),_initVIEwSize(WIN_WIDTH,WIN_HEIGHT){}
boolConfigParser::isLanscape(){return_isLandscape;}

以上代码可以知道,默认是横屏的;isLandscape这个属性是哪里来的呢?是项目文件夹里config.Json里面的。

650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" title="QQ截图20141127161233.png" alt="wKiom1R23PzBzX6LAAEZb5wftCY118.jpg" src="http://s3.51cto.com/wyfs02/M02/54/11/wKiom1R23PzBzX6LAAEZb5wftCY118.jpg">

所以3.3rc0要设置横屏与竖屏需要修改config.Json文件里的isLandscape属性。

就写这么多,期待下篇文章!

如有不足之处,请大家指出,一起交流成长!

总结

以上是内存溢出为你收集整理的quick-cocos2d-x 3.3rc0 与 2.2.5的区别(三)真机上设置横屏与竖屏全部内容,希望文章能够帮你解决quick-cocos2d-x 3.3rc0 与 2.2.5的区别(三)真机上设置横屏与竖屏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1016869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存