예제 #1
0
        public void TestInput()
        {
            bodyRotateDelay++;

            if (Keyboard.GetState().IsKeyDown(Keys.J))
            {
                body.LinearVelocity = new Vector2(-moveSpeed, 0);
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.L))
            {
                body.LinearVelocity = new Vector2(moveSpeed, 0);
            }

            else if (Keyboard.GetState().IsKeyDown(Keys.K))
            {
                body.LinearVelocity = new Vector2(0, moveSpeed);
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.I))
            {
                body.LinearVelocity = new Vector2(0, -moveSpeed);
            }
            else
            {
                body.LinearVelocity = new Vector2(0, 0);
            }
            if (Keyboard.GetState().IsKeyDown(Keys.O))
            {
                if (bodyRotateDelay > 15)
                {
                    body.Rotation  += .2f;
                    bodyRotateDelay = 0;
                    r = body.Rotation;
                }
            }


            Vector2 x = body.Position;

            if (Keyboard.GetState().IsKeyDown(Keys.A) && bodyRotateDelay > 2)
            {
                bodyRotateDelay = 0;
                GameRoot.RemoveBody(body);
                wi--;
                body               = world.CreateRectangle(wi, h, 1, x);
                body.BodyType      = BodyType.Kinematic;
                body.IgnoreGravity = true;
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.D) && bodyRotateDelay > 2)
            {
                bodyRotateDelay = 0;
                GameRoot.RemoveBody(body);
                wi++;
                body               = world.CreateRectangle(wi, h, 1, x);
                body.BodyType      = BodyType.Kinematic;
                body.IgnoreGravity = true;
            }
            if (Keyboard.GetState().IsKeyDown(Keys.W) && bodyRotateDelay > 2)
            {
                bodyRotateDelay = 0;
                GameRoot.RemoveBody(body);
                h++;
                body               = world.CreateRectangle(wi, h, 1, x);
                body.BodyType      = BodyType.Kinematic;
                body.IgnoreGravity = true;
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.S) && bodyRotateDelay > 2)
            {
                bodyRotateDelay = 0;
                GameRoot.RemoveBody(body);
                h--;
                body               = world.CreateRectangle(wi, h, 1, x);
                body.BodyType      = BodyType.Kinematic;
                body.IgnoreGravity = true;
                body.Rotation      = r;
            }
        }
예제 #2
0
 public virtual void DestroyBody()
 {
     GameRoot.RemoveBody(body);
 }