我正在开始游戏,我正在使用Farseer作为物理引擎。
我设置了几个用作地形图块的框和一个用作播放器的框。这两者之间的碰撞非常奇怪,当它不是“直接”撞击时它们相交并滑动。
以下是发生了什么的GIF:http://i.imgur.com/HR0J0D3.gifv
以下是片段:
//Creating the body
PhysBody = BodyFactory.CreateRectangle(
Transform.World.PhysWorld,
ConvertUnits.ToSimUnits(Width * Transform.Scale),
ConvertUnits.ToSimUnits(Height * Transform.Scale),
5,
ConvertUnits.ToSimUnits(Transform.Position.ToVector2()));
//The tiles are static, the player is not
PhysBody.BodyType = Static ? BodyType.Static : BodyType.Dynamic;
//Drawing the test rectangles
ShapeRenderer.Instance.DrawRectangle(
sb,
ConvertUnits.ToDisplayUnits(PhysBody.Position).ToVector2(),
new Size2((int)(Width * Transform.Scale), (int)(Height * Transform.Scale)),
Color.White);
我不认为其余部分很重要,我所做的就是创造一个9.8重力的世界。
我也尝试过不使用Transform.Scale并且在播放器下面只有一个方框,问题仍然存在。
我正在使用的图形引擎是Ultraviolet