根据不同的 2 屏幕分辨率,不能为每个设备使用单个图像。
那么,如何在 Cocos2d-android 中管理这个东西呢?
或者
使用 setScale() 就可以了。
根据不同的 2 屏幕分辨率,不能为每个设备使用单个图像。
那么,如何在 Cocos2d-android 中管理这个东西呢?
或者
使用 setScale() 就可以了。
您必须创建一种可以根据屏幕尺寸获取适当图像的方法。
以下步骤将帮助您获取图像
1)获取屏幕尺寸并将其存储在变量中
我用过
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
display = wm.getDefaultDisplay();
if(display.getWidth()<=320)
{
GameCons.setSCreenSize(1);
}else if(display.getWidth()<=480)
{
GameCons.setSCreenSize(2);
}else if(display.getWidth()<=860)
{
GameCons.setSCreenSize(3);
}else
{
GameCons.setSCreenSize(4);
}
现在我们将屏幕尺寸(1,2,3,4)存储在变量 screenSize 中
2)现在将名称分配给您正在使用的图像
假设如果我们有四个分辨率的 player.png 图像,那么将名称指定为 player_1.png player_2.png player_3.png player_4.png
这些是不同分辨率的相同图像
3)现在创建将返回图像名称的方法
public static String getImageURI(String name) {
if (screenSize== 1) {
return name + "_1.png";
} else if (screenSize== 2) {
return name + "_2.png";
} else if (screenSize== 3) {
return name + "_3.png";
} else {
return name + "_4.png";
}
}
4)现在你必须在你的图层中使用这个方法,同时将名称传递给精灵或其他一些例如:
target = CCSprite.sprite(getImageURI("player"));
您只需要在上面的方法中传递下划线之前的名称,真实姓名就像 player_1.png 但我们只传递 player
getImageURI 将根据屏幕尺寸返回一个适当的名称,假设如果我们的屏幕尺寸为 2,那么 getImageURI 将返回
player_2.png
所以代码会变成 target = CCSprite.sprite("player_2.png");//getImageURI 会返回 player_2.png