Я новичок в 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);
Если бы кто-то мог также предоставить команду, мне нужно было бы приостановить фигуру щелчком мыши или командой клавиатуры под текущим углом, а затем продолжить, когда я отпущу щелчок мыши, что было бы супер фантастически!
Ваше здоровье