Andengine安卓游戏在屏幕尺寸方面调整精灵?

时间:2012-01-08 04:12:43

标签: android andengine

所以我需要根据手机屏幕尺寸重新调整我的精灵,

我执行以下操作:

final Display display = getWindowManager().getDefaultDisplay();
    cameraWidth = display.getWidth();
    cameraHeight = display.getHeight();
    //check to load male or female
    Intent sender=getIntent();
    String extraData=sender.getExtras().getString("char");
    if(extraData.contains("1"))
    {
        isMale = 1;
    }
    else
    {
        isMale = 0;
    }

    mCamera = new Camera(0, 0, cameraWidth, cameraHeight);
    return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE,
            new RatioResolutionPolicy(cameraWidth, cameraHeight), mCamera)
            .setNeedsMusic(true).setNeedsSound(true));

然而,对于精灵,即玩家和敌人,我给他们任意大小,如50像素50像素 - 现在在小屏幕上他们看起来真的很大!如何根据屏幕尺寸调整它们的大小?

此外,这些图像是从资源文件夹加载的,因此它们与HDPI和LHPI图像文件夹无关。

先谢谢社区。

1 个答案:

答案 0 :(得分:2)

您应该使用可在不同设备屏幕上扩展的SVG图形。

我建议您将CAMERA_WIDTH和HEIGHT设置为屏幕大小,无论它的大小是什么尺寸。

例如,对于我正在制作的项目,我的相机宽度和高度为800x480。

这样你就不必担心调整任何精灵的大小。它们在每个设备上看起来都相同,同时引擎通过RationResolutionPolicy进行扩展。

这是解决这个问题的最好方法。

如果您根据设备设置屏幕尺寸,则必须为每个设备添加不同的图形。

所以我建议使用SVG图形,以便当图像由引擎自动放大时,它们的质量不会降低。或者你可以使用png并使它们变大,这样它们只会按比例缩小。如你所知,他们不会通过缩小来降低图像质量。