Я хочу знать, поддерживает ли cocos2d-x режим Android XHDPI, и если да, то как это сделать?
поддерживает ли cocos2d-x режим Android XHDPI?
Ответы (2)
Да, вы можете это сделать. Для этого вам придется написать собственную функцию, которая вернет вам 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
}
Надеюсь, это поможет вам!! :)
person
Ganesh Somani
schedule
13.02.2013
Вы можете просто использовать функцию CCDevice::getDPI()
Если это вам не поможет, прочтите этот осторожно, это действительно очень помогло мне.
Надеюсь, это поможет и вам
person
Ganesh Somani
schedule
06.08.2013