我想知道cocos2d-x是否支持android的XHDPI模式 如果是的话,怎么做?
答案 0 :(得分:0)
是的,你可以这样做。 为此,你必须编写一个本机函数,它将返回设备的dpi。 因此,您可以设置资源目录。 这是java中的本机代码,它将返回屏幕的dpi。
将此代码写入Cocos2dxActivity(cocos2d-x android的库文件)
static int dpiValue;
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
dpiValue = dm.densityDpi;
public static int deviceDPI()
{
return dpiValue;
}
现在,在AppDelegate.cpp中,您可以获取此值并相应地设置资源文件夹
以下是
的示例代码//getting dpi in case of android
JniMethodInfo t;
JniHelper::getStaticMethodInfo(t
, "org/cocos2dx/lib/Cocos2dxActivity"
, "deviceDPI"
, "()I");
int deviceDPI = t.env->CallIntMethod(t.classID, t.methodID, NULL);
CCLog("DPI of screen is %d", deviceDPI);
if(deviceDPI <= 120)
{
//ldpi
}
else if(deviceDPI <= 160)
{
//mdpi
}
else if(deviceDPI <= 240)
{
//mdpi
}
else
{
//xhdpi
}
希望这对你有所帮助!! :)
答案 1 :(得分:0)