1

我正在开发一个 2D 游戏,我使用 AddForce api 垂直向上抛出一个游戏对象。现在,由于施加的力,游戏对象开始向上移动,我继续在 Update() 中将其重力比例从 1 增加到特定值(比如 maxGravityScaleValue )。一旦达到 maxGravityScaleValue,球就会下落。我使用 1080x1920 的参考分辨率开发游戏。对于这个参考分辨率,maxGravityScaleValue 是 960(我只是通过反复试验才喜欢它)。所以我认为它对于所有设备都是一致的。但是后来当我在各种移动设备上尝试我的游戏时,maxGravityScaleValue 对于不同设备的变化不一致。我确信对于每个设备统一都在进行一些计算以确定最大重力比例值。我尝试了很多计算,但没有运气。请帮助我摆脱这种情况

由于游戏对象在达到特定高度后必须垂直向上并在重力下落下,我将给出游戏对象的 Y 坐标、高度和不同分辨率的 maxGravityScaleValue。

  1. 分辨率:1080x1920(纵横比 9:16),maxGravityScaleValue:960,gameObjectY:375 TargetY:1440
  2. 分辨率:1080x2280(纵横比 9:19),maxGravityScaleValue:1440,gameObjectY:555 TargetY:1620
  3. 分辨率:1125x2436(纵横比 9:19.5),maxGravityScaleValue:1200,gameObjectY:608.62 TargetY:1718
  4. 分辨率:1242x2688(纵横比 9:19.5),maxGravityScaleValue:1030,gameObjectY:671.25 TargetY:1896
  5. 分辨率:1440x2560(纵横比 9:16),maxGravityScaleValue:850,gameObjectY:500 TargetY:1920

使用 AddForce 垂直向上抛出的游戏对象。到达 TargetY 后应该会掉下来。我的逻辑是在施加力时将重力比例从 1 增加到 maxValue。所以一旦达到 maxGravity 值,Gameobject 应该在 TargetY 并且从那里它应该下降。

4

0 回答 0