我有一个矩形物体,以45度角从大炮中射出。该物体也向上旋转了45度,并且我已经将质量设置在物体的前部。
物体升空很好,但是当物体回到地面时,它不会旋转。有没有办法让质量一侧先落下?
我的真实例子是:把带绳的网球扔到空中。目前,当重力生效时,绳子不会落在球后面。
这是我的“球”。
然后我这样触发它:
我猜测我可能忘记了某些设置或计算。
物体升空很好,但是当物体回到地面时,它不会旋转。有没有办法让质量一侧先落下?
我的真实例子是:把带绳的网球扔到空中。目前,当重力生效时,绳子不会落在球后面。
这是我的“球”。
Body = BodyFactory.CreateRectangle(world, ConvertUnits.ToSimUnits(texture.Width), ConvertUnits.ToSimUnits(texture.Height),100f, postition, this);
Body.Mass = 1;
Body.LocalCenter = new Vector2(ConvertUnits.ToSimUnits(Texture.Width), ConvertUnits.ToSimUnits(Texture.Height / 2));
Body.UserData = this;
Body.BodyType = BodyType.Dynamic;
Body.CollisionCategories = Category.All;
Body.CollidesWith = Category.All;
Body.IgnoreGravity = false;
float ang = BarrelJoint.JointAngle;
Body.Rotation = ang;
然后我这样触发它:
Body.ApplyLinearImpulse(new Vector2((float)Math.Cos(ang) * 100, (float)Math.Sin(ang) * 100));
我猜测我可能忘记了某些设置或计算。