XNA 2D游戏-在朋友的电脑上表现不同
本文关键字:电脑 游戏 2D 朋友 XNA | 更新日期: 2023-09-27 18:15:45
我用c#和lidgren做了一个简单的网络xna游戏。但是对象的速度在朋友的电脑上是不同的——窗口的分辨率是一样的,fps是一样的(都是60),应用程序是一样的,但是他的性格因为某种原因变慢了。一段时间内,他的速度和我的速度相等,但随后又减慢了。其他朋友的速度和我一样快。有什么问题吗?程序根据fps调整移动,所以fps可能没有问题。
没有看到你的代码很难确定。
一般来说,最好将动画视为自上次更新以来经过的函数,而不是每秒帧数。这样,无论FPS是固定还是可变更新,动画都将花费相同的真实世界时间来完成。程序根据fps
调整移动
移动增量应该考虑自上次游戏更新以来经过的时间而不是最后/当前FPS。
。
public Vector3 Velocity;
public Vector3 Position;
public void Update(GameTime gameTime)
{
float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
// Apply acceleration
Vector3 acceleration = force / Mass;
Velocity += acceleration * elapsed;
// Apply psuedo drag
Velocity *= DragFactor;
// Apply velocity
Position += Velocity * elapsed;
.
.
.
你说你要用lindgren来制作多人游戏?也许这是由于延迟造成的。尝试在局域网内的两台计算机上检查,看看是否解决了问题。
可能有不同的设置来指定如何处理同步或预测。