Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 平台游戏2D物理引擎-在平台上骑行_C#_2d_Physics - Fatal编程技术网

C# 平台游戏2D物理引擎-在平台上骑行

C# 平台游戏2D物理引擎-在平台上骑行,c#,2d,physics,C#,2d,Physics,发布在游戏开发上: 我有很多关于在平台游戏中使用2D物理引擎的问题,但有一个主要的问题我正在努力解决。我设法在某种程度上将引擎集成到一个项目中。我对物理学的表现和真实感非常满意。然而,我失去了一些我原来的SGDK2物理引擎(更专门面向平台游戏)使之更容易的东西: 现在在月台上骑马很困难。这是我的主要问题。实施起来并不难,但玩起来却很难。假设我真的设法把玩家带到一个平台上(这本身已经够硬了),一旦平台移动,玩家就会掉下来,因为玩家和平台之间没有足够的摩擦。我是否需要调整摩擦、惯性、线速度阻尼等因素

发布在游戏开发上:

我有很多关于在平台游戏中使用2D物理引擎的问题,但有一个主要的问题我正在努力解决。我设法在某种程度上将引擎集成到一个项目中。我对物理学的表现和真实感非常满意。然而,我失去了一些我原来的SGDK2物理引擎(更专门面向平台游戏)使之更容易的东西:

  • 现在在月台上骑马很困难。这是我的主要问题。实施起来并不难,但玩起来却很难。假设我真的设法把玩家带到一个平台上(这本身已经够硬了),一旦平台移动,玩家就会掉下来,因为玩家和平台之间没有足够的摩擦。我是否需要调整摩擦、惯性、线速度阻尼等因素,使其更容易在平台上行驶,还是在平台上行驶存在一些根本性的困难?这就是“真实”世界?我试着减小施加在平台上的力,使其移动(这样可以让骑手有更多的时间来匹配平台的速度),但这样的力不足以让骑手保持在高处,平台会下沉到地面上。我只是施加力来移动平台
  • 阻止平台旋转的最佳方法是什么?我试着在每一帧上将角动量和角位置设置为0,但这可能会导致轻微的抽搐,导致平台上的任何东西弹到空中一点,刚好足够长的时间掉下来
  • 沿着地面奔跑:大多数具有真实2D物理的平台游戏是如何实现玩家的?我的播放器目前是方形的,但经常会因为摩擦而跌落并弹起,撞到其中一个角落。我的猜测是,玩家应该是一个圆圈,并且总是笔直地画出来。这是标准做法,还是有其他方法?如果我使用圆圈,我希望乘坐月台会更加困难!这名运动员马上就要出发了。我想到的是小星球,它似乎也能让玩家在地面上保持良好的状态。如果我想让他们也接地的话,我是否需要在球员身上施加很多速度阻尼,或者类似的东西
  • 由于SGDK2是一个基于tile的引擎/IDE,我编写了代码来分析地形/tile的所有形状,并将它们转化为具有无限质量的物理体(在适当的情况下水平合并,但不垂直合并;合并两个方向对我来说太难了,因为我不知道如何跟踪和表示环形结构中的孔).对于平台游戏来说,这是一种很好的方法来实现精灵之间的交互,以表示坚实的地面吗?我最好将每个瓷砖都变成一个物理实体(几个简单的形状,许多实体和瓷砖之间的内表面),还是像我这样合并它们(实体越少,形状越复杂)
  • 我很难计算出要使用的最佳顶点细分级别和网格间距。我不太理解这些概念和Pysics2D上的文档。据我所知,Pysics2D.Net是稀疏到不存在的。我通常细分到大约6,并使用大约相同的网格间距。我的精灵和平铺大多是32x32 uNIT(像素),目前为正方形

  • 你最好在网上问这个问题哦,我忘了或不知道那个网站。谢谢你的提醒。你应该一次处理一个问题。@Lasse这就是为什么我指出一个问题是我的主要问题。这个问题在gamedev.stackexchange.com上发布和回答。这个问题应该在这里关闭还是留一个时间什么是“重新定向”?