cocos2d-x在Lua环境下取得Device类的getDPI()方法

cocos2d-x在Lua环境下取得Device类的getDPI()方法,第1张

概述在做多分辨率适配时,我遇到了一个比较特殊的需求,需要按照现实世界里的真实尺寸做一些适配的工作,这需要调用Device类的getDPI()方法来取得当前设备屏幕的DPI值。可惜的是,cocos2d-x 3.2版本默认没有并导出Device类到Lua环境中,所以需要自己动手才行了。 修改frameworks/cocos2d-x/tools/tolua/cocos2dx.ini文件,在classes段里

在做多分辨率适配时,我遇到了一个比较特殊的需求,需要按照现实世界里的真实尺寸做一些适配的工作,这需要调用Device类的getDPI()方法来取得当前设备屏幕的DPI值。可惜的是,cocos2d-x 3.2版本默认没有并导出Device类到Lua环境中,所以需要自己动手才行了。

修改frameworks/cocos2d-x/tools/tolua/cocos2dx.ini文件,在classes段里加入Device类,就像这样:

然后在接下来的skip段里加入不导出getTextureDataForText方法的定义(这个方法用到了特殊的Data类,导出比较麻烦,暂时不用,所以可以跳过)。注意加到最后一行时要给上一行末尾补个逗号,确保语法正确:

接下来去命令行里执行python project_root/frameworks/cocos2d-x/tools/tolua/genbindings.py,然后再cocos compile -p mac编译一下,就可以在Lua里这么调用了:

cc.Device:getDPI()

在iPod 5上测试通过,打印出来DPI值是326,狠准。

另外补充几个常见设备的DPI值:

设备 DPI
iPhone 6 Plus 401
iPhone 6 326
iPhone 5S 326
iPhone 5C 326
iPhone 5 326
iPhone 4S 326
iPhone 4 326
iPod 5 326
iPod 4 326
iPad Mini 326
iPad Air 264
iPad 4 264
iPad 3 264
RMBP 15" 220
RMBP 13" 227
总结

以上是内存溢出为你收集整理的cocos2d-x在Lua环境下取得Device类的getDPI()方法全部内容,希望文章能够帮你解决cocos2d-x在Lua环境下取得Device类的getDPI()方法所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1028740.html

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

发表评论

登录后才能评论

评论列表(0条)

保存