public virtual void Update(GameTime gameTime) { oldPosition = Position; Frames = Image.Width / (int)Dimensions.X; if (InputEngine.IsKeyPressed(Keys.I)) { if (!debug) { debug = true; } else { debug = false; } } timer += (float)gameTime.ElapsedGameTime.Milliseconds; if (_dir == "left") { _effect = SpriteEffects.FlipHorizontally; } else { _effect = SpriteEffects.None; } //if the timer is greater then the time between frames, then animate if (timer > timeBetweenFrames) { //moce to the next frame currentFrame++; //if we have exceed the number of frames if (currentFrame > Frames - 1) { currentFrame = 0; } //reset our timer timer = 0f; } //BoundingBox = new Rectangle((int)this.Position.X, (int)this.Position.Y, (int)Dimensions.X, (int)Dimensions.Y); source = new Rectangle(currentFrame * (int)Dimensions.X, 0, (int)Dimensions.X, (int)Dimensions.Y); BoundingBox = new Rectangle((int)this.Position.X, (int)this.Position.Y, (int)Dimensions.X, (int)Dimensions.Y); }
public override void Update(GameTime gameTime) { if (!Visible) { return; } MovePlayer(); Collisions(); weapon.Move(movement); this.Move(movement); if (InputEngine.IsKeyHeld(Keys.Space) && !weapon.Active) { weapon.Active = true; Frames = 4; _moveState = (int)_moveStates.ATTACK; Image = _States[5]; } //if(InputEngine.IsKeyPressed(Keys.B) && gun.projectiles.Count < 5) //{ // if (_dir == "right") // gun.projectiles.Add(new Projectile(game, _States[6], new Vector2(Position.X + Dimensions.X/2,Position.Y + Dimensions.Y/3), "bullet", boundtx, new Vector2(8, 8), 1, 5, 1)); // else // gun.projectiles.Add(new Projectile(game, _States[6], new Vector2(Position.X + Dimensions.X / 2, Position.Y + Dimensions.Y / 3), "bullet", boundtx, new Vector2(8, 8), 1, 5, -1)); //} weapon._dir = _dir; weapon.Update(gameTime); gun.Update(gameTime); foreach (Projectile p in gun.projectiles) { p.Update(gameTime); } base.Update(gameTime); }
void MovePlayer() { oldPosition = Position; int LastState = _moveState; bool jump = false; if (!grounded) { movement.Y += 1f; } else { if (!weapon.Active) { _moveState = (int)_moveStates.STOP; Frames = 4; } gravity = 0f; } if (InputEngine.IsKeyHeld(Keys.Left) || InputEngine.IsKeyHeld(Keys.A)) { movement.X += -1; if (movement.X > 0) { movement.X += -1; } if (grounded) { _moveState = (int)_moveStates.LEFT; } } if (InputEngine.IsKeyHeld(Keys.Right) || InputEngine.IsKeyHeld(Keys.D)) { movement.X += 1; if (movement.X < 0) { movement.X += 1; } if (grounded) { _moveState = (int)_moveStates.RIGHT; } } if ((InputEngine.IsKeyHeld(Keys.Up) || InputEngine.IsKeyHeld(Keys.W)) && grounded) { movement.Y -= 20; grounded = false; _moveState = (int)_moveStates.UP; } if (movement.X > 6) { movement.X = 6; } if (movement.X < -6) { movement.X = -6; } if (movement.Y > 0) { _moveState = (int)_moveStates.DOWN; } if (!weapon.Active) { if (LastState != _moveState) { currentFrame = 0; switch (_moveState) { case (int)_moveStates.RIGHT: Image = _States[1]; Frames = 7; break; case (int)_moveStates.LEFT: Image = _States[1]; Frames = 7; break; case (int)_moveStates.UP: Image = _States[2]; Frames = 2; break; case (int)_moveStates.DOWN: Image = _States[3]; Frames = 2; break; default: Image = _States[0]; break; } } } if (movement.X > 0) { _dir = "right"; movement.X -= 0.2f; } if (movement.X < 0) { _dir = "left"; movement.X += 0.2f; } if (movement.X <= 0.2f && movement.X >= -0.2f) { movement.X = 0; } if (_dir == "right") { weapon.Position = new Vector2(this.Position.X, this.Position.Y + Dimensions.Y / 2); gun.Position = new Vector2(this.Position.X, this.Position.Y + Dimensions.Y / 2); } if (_dir == "left") { weapon.Position = new Vector2(this.Position.X - 24, this.Position.Y + Dimensions.Y / 2); gun.Position = new Vector2(this.Position.X, this.Position.Y + Dimensions.Y / 2); } }
public override void Update(GameTime gameTime) { if (!Paused && !victory) { if (!activeScene.active) { if (activeScene.gotoMenu) { activeScene = menu; menu.selectionMade = false; sceneList.Remove(activeScene); } MediaPlayer.Stop(); activeScene.active = true; MediaPlayer.Play(activeScene.bgm); } } if (activeScene._name == "Menu") { if (menu.selectionMade) { switch (menu.selection) { case 0: activeScene.active = false; Scene2 s = new Scene2(game); s.SetupRoom(content); activeScene = s; break; case 1: Game.Exit(); break; default: break; } } } //activeScene.Update(gameTime); if (activeScene.testPlayer != null) { if (activeScene.testPlayer.enemies.Count <= 0) { victory = true; activeScene.active = false; if (!newScore) { jsonScores.scoresList.Add(new Score { time = DateTime.Now.ToLongTimeString(), value = activeScene.testPlayer.score }); newScore = true; } } } if (Keyboard.GetState().IsKeyDown(Keys.Escape) && activeScene._name != "Menu" && !Paused) { activeScene.active = false; activeScene = menu; menu.selectionMade = false; } if (InputEngine.IsKeyPressed(Keys.Enter) && activeScene._name != "Menu") { if (!victory) { if (!Paused) { activeScene.active = false; Paused = true; } else { Paused = false; } } else { activeScene.gotoMenu = true; victory = false; } } c.scene = activeScene; base.Update(gameTime); }