AndEngine Box2D扩展-缩放



我是AndEngine和Box2D的新手。所以请耐心等待。

我创建了一个新项目,安装了一台480x800的相机,添加了一个32x32的条纹,在地球引力下创造了一个物理世界,并去掉了条纹。瞧,它确实掉了。但对我来说,这似乎并不"自然";太慢了。

然后我意识到重力是以米(m/s2)为单位的,而环境是以像素为单位的。米和像素之间的转换发生在哪里?在某个地方,应该有一个幕后的假设。我能控制它吗?

Box2D如何知道它是从离地100米的地方掉落条纹(从远处观察,会显得非常缓慢)还是从离地1米的地方(近距离观察,会看起来非常快)?

为了测试转换是否是真正的问题,我将重力乘以10,它提高了"自然度"。但我认为应该有一种更复杂的方法将像素转换为米。

提前谢谢。我真的很感谢你的评论。

正如@iforce2d所说,这是一条评论。在AndEngine中,默认值为32,因此32个像素被视为一米。将像素转换为米时,将像素除以此值。将米转换为像素时,请乘以此值。您可以在org.andengine.extension.physics.box2d.util.constants.PhysicsConstants类中找到此值。

如果您没有指定自己的比率,则会在PhysicsFactory.create...方法中使用该比率。这些方法为您创建物理体,以像素为单位测量精灵大小,并将米传递到Box2D。它也用于PhysicsConnector类构造函数。如果32不适合你,就用你自己的价值,但你必须始终如一,每次都用。

相关内容

最新更新