gpt4 book ai didi

android - 在 Box2d 和 Android 中针对多种分辨率进行缩放

转载 作者:行者123 更新时间:2023-11-29 00:50:27 25 4
gpt4 key购买 nike

我正在开发一款在 android 中使用 box2d 引擎的游戏。我通过为 320X480 分辨率定义的 xml 中的定义创建物理世界。

现在在 box2d 中我认为 1 个单位是 30 个像素。问题是,除了为每个分辨率定义一个单独的 xml 以针对所有屏幕正确缩放之外,还有其他选择吗?

我尝试从显示指标获取屏幕密度并调整 box2d 使用的比例,但物理世界看起来不一样。

有人遇到过这种情况并解决了吗?

提前致谢。

最佳答案

使用 PTM_RATIO 将显示尺寸转换为米来定义世界尺寸例如。

WindowManager w = getWindowManager();
Display d = w.getDefaultDisplay();
int width = d.getWidth();
int height = d.getHeight();

mWorldWidth = (float)(width / PTM_RATIO);
mWorldHeight = (float)(height / PTM_RATIO);

然后使用 mWorldHeight 和 mWorldWidth 值创建边界形状,这样您将始终根据可用屏幕尺寸的比例工作。

关于android - 在 Box2d 和 Android 中针对多种分辨率进行缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3141906/

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