gpt4 book ai didi

java - 如何在 AndEngine 中决定 SVG Sprite 的宽度和高度

转载 作者:搜寻专家 更新时间:2023-11-01 07:37:32 25 4
gpt4 key购买 nike

我正在使用 AndEngine 加载 svg 图像作为我的 Sprites。

我遇到的问题是我不知道如何缩放图像以适应运行它的特定设备。

sprite= new Sprite(positionX, positionY, WIDTH,HEIGHT,TextureRegion);

它采用的参数是位置的 x 和 y 坐标,然后是宽度和高度。

我遇到的问题是我不知道如何根据我的需要将 Sprite 缩放到正确的宽度和高度。

例如,我有一个标题,我希望标题在更大的设备上更大,我如何决定设备是否更大,然后将其放大以显示更大的屏幕或缩小以显示更小的屏幕?

最佳答案

如果您使用恒定的相机尺寸,所有 屏幕都会缩放(因此所有实体)。

确定一个恒定大小,例如 720x480

final static int CAMERA_WIDTH = 720;
final static int CAMERA_HEIGHT = 480;

然后,在创建引擎选项时,使用:

... new EngineOptions(... new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), ...);

在每台设备上,摄像头都会自行缩放以尽可能适合分辨率,同时保持宽度和高度之间的比例。现在,在创建 Sprite 时,只需执行以下操作:

Sprite sprite = new Sprite(x, y, TextureRegion);

不要给 Sprite 大小!它相对于相机大小的大小将根据纹理区域大小决定,它将是一个常数。 然后,它将被相机缩放到- 设备屏幕缩放,从一个设备到另一个设备会发生变化,但比例将保持不变 - 在具有与相机宽度/高度比例不同的分辨率的设备上,游戏看起来不会像糟糕的缩放图像。

我认为这是 AndEngine 提供的处理不同屏幕分辨率的好方法;恕我直言,这是最好用的。

关于java - 如何在 AndEngine 中决定 SVG Sprite 的宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8685795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com