protected override void Update(GameTime gameTime) { KeyboardState ks = new KeyboardState(); Keys[] keys = ks.GetPressedKeys(); if (ks.IsKeyUp(lastKey)) { lastKey = Keys.None; } if (keys.Length > 0 && lastKey == Keys.None) { lastKey = keys[0]; var keyValue = keys[0].ToString(); Sgml.keyboard_string += keyValue; } MousePositionTranslated = cam.Camera.ScreenToWorld(MousePosition); GridSizeRender = new Vector2(SimplexMath.Lerp(GridSizeRender.X, GridSize.X, 0.2f), SimplexMath.Lerp(GridSizeRender.Y, GridSize.Y, 0.2f)); Input.KeyboardState = ks; g = gameTime; base.Update(gameTime); cam.UpdatePosition(); foreach (RoomLayer rl in roomLayers) { if (rl.Visible) { if (rl is ObjectLayer) { foreach (GameObject o in ((ObjectLayer)rl).Objects) { if (o.Position.X != o.PositionPrevious.X || o.Position.Y != o.PositionPrevious.Y) { sh.UnregisterObject(o); sh.RegisterObject(o); } if (GameRunning || o == clickedObject) { o.EvtStep(); } } } } } }
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } var keyboardState = Keyboard.GetState(); if (keyboardState.IsKeyDown(Keys.Up) & !prevState.IsKeyDown(Keys.Up)) { cam.TargetPosition.Y -= 150; s.ImageAngleTarget += SimplexMath.DegToRad(30); s.ImageScaleTarget.X -= 0.3f; // new Vector2(0.3f, 0.3f); } if (keyboardState.IsKeyDown(Keys.Down) & !prevState.IsKeyDown(Keys.Down)) { GameObjects[0].Sprite.ImageIndex++; } foreach (GameObject g in GameObjects) { g.Sprite.UpdateImageAngle(); g.Sprite.UpdateImageScale(); g.Sprite.UpdateImageRectangle(); } cam.UpdatePosition(); // TODO: Add your update logic here prevState = keyboardState; base.Update(gameTime); }