-1

我在框 2d 中面临多分辨率问题。

首先我需要使物体具有多分辨率,我通过按比例因子缩放顶点来解决它。

现在我需要使所有不同分辨率设备的作用力相同,有什么办法吗?

我想让这行代码在所有设备上都一样

obj.getBody().applyForce( new Vector2(0, -220), obj.getBody().getWorldCenter());

这里 220 是我应该通过这个公式使它成为多分辨率的因素

public float getY(float value) {
    y = (value / 540) * 100;
    return (y / 100) * CAMERA_HEIGHT;
}

这里 540 是基本分辨率。我调用 getY(220) 使其具有多分辨率。

当我在分辨率 540*960 上使用此代码时,它工作正常,但是当我更改设备说分辨率 720*1280 时,游戏的运行速度非常慢。有人可以帮我解决这个问题吗?我试图解释我的问题。提前致谢。

4

2 回答 2

2

您可以通过将相机设置为设备像素数以外的值来缩放图形。

Andengine 将为扩展做所有其他事情。

您需要从设备获得的只是 x 与 y 像素的比率。

在此链接的示例中,我只设置了一个变量,并且所有内容都按比例缩放。http://pastebin.com/WWGFvTVS

因此,您只需决定要处理的初始比例,然后做 Box2D 的工作,而不必担心比例。您只需缩放正在查看场景的相机。

我说的和其他人一样,只是你似乎没有理解他们。

于 2013-05-01T21:36:58.653 回答
1

不要缩放物理。缩放图形。您应该在每个分辨率之间共享物理坐标系,以使您的模拟在不同设备上相同。

于 2013-03-11T11:51:30.507 回答