我是 Farseer Physics 的新手,使用的是 3.3.1 版。我正在寻求一些帮助,甚至很乐意收到 Box2d 的答案,以确保我得到回复,因为我应该能够转换它! - 谢谢
...经过大量修改后,我设法在屏幕上产生了一个薄的垂直矩形形状,我希望它可以在顶部固定在我设置的角度来回摆动(对于这个示例来说,90 度就可以了)。
当它接近顶部时,我希望它放慢速度,然后回到它刚刚来的方式,增加速度,然后明显减慢到再次在顶部停止。几乎就像一艘摆动的海盗船在主题公园里的工作方式。
这是我到目前为止摆动形状的代码,但它似乎在每次摆动时都会失去速度,最终会停止:
float playerWidth = ConvertUnits.ToSimUnits(5), playerHeight = ConvertUnits.ToSimUnits(68);
playerPosition = ConvertUnits.ToSimUnits(-350, 0);
playerBody = BodyFactory.CreateRectangle(World, playerWidth, playerHeight, 2f, playerPosition);
playerBody.BodyType = BodyType.Dynamic;
// create player sprite based on player body
_rectangleSprite = new Sprite(ScreenManager.Assets.TextureFromShape(playerBody.FixtureList[0].Shape, MaterialType.Player, Color.Orange, 1f));
// Create swinging joint
var joint = JointFactory.CreateFixedRevoluteJoint(World, playerBody, ConvertUnits.ToSimUnits(0, -34), playerBody.Position);
如果有人也可以提供命令,我需要在鼠标单击或键盘命令上以当前角度暂停形状,然后在我松开鼠标单击时继续,这将是非常棒的!
干杯