我使用以下比率进行像素到米的转换,
PTM_RATIO=32;
v3BodyDef.position.Set(2848/PTM_RATIO, 102/PTM_RATIO);
这会在屏幕上多次产生奇怪的输出,设置位置(v3BodyDef.position.Set)是否采用浮点变量我不知道,但我认为这种转换很麻烦。
请帮我解决这个问题。谢谢。
没有一个值得推荐的比例(尽管有些人会试图说服你有)。
物理引擎中对象的比例应取决于动态对象的平均比例。我的意思是,如果你的玩家与许多比自己“稍大”和“稍小”的物体交互,最好让玩家的平均尺寸在最佳范围内(例如,Box2D 针对介于两者之间的物体进行了优化)大小为 0.1m 和 10m,因此播放器为 1m 或 1.5m)。
至于你的像素大小,这完全取决于你希望你的世界在屏幕上有多大。
如果你希望你的英雄是屏幕高度的 1/10,并且距离相机 2 米,那么计算一下 :-p 其他人可能希望他们的这里是屏幕高度的 1/8,或者 1/12th.. 这真的取决于游戏最终的样子。如果相机放大,像素与物理比率会发生变化。如果屏幕分辨率发生变化(如视网膜显示屏),您的像素与物理比率将不得不相应地发生变化。
所以在实践中:没有设定值。这实际上取决于游戏,并且取决于您所使用的硬件的最佳感觉。
我是一名优秀的程序员,十分优秀!