Ejemplo n.º 1
0
 //Ritar ut på nytt
 public override void Draw(SpriteBatch spriteBatch)
 {
     moving.Draw(spriteBatch, pos);
     foreach (var Skott in skottlista)
     {
         Skott.Draw(spriteBatch);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Skapar knappar på tangentbodet som visar vad som händer om jag trycker ner exempel W
        /// För att se till så att spelaren inte kan gå utanför spelområdet så avänder jag mig av && pos.x/y > 0
        /// </summary>
        public void PlayerUpdate(GameTime gameTime)
        {
            velocity = Vector2.Zero;
            if (Keyboard.GetState().IsKeyDown(Keys.S) && pos.Y <= 480f - 90)
            {
                velocity.Y = 5;
                moving.Update();
            }

            if (Keyboard.GetState().IsKeyDown(Keys.W) && pos.Y > 0)
            {
                velocity.Y = -5;
                moving.Update();
            }

            if (Keyboard.GetState().IsKeyDown(Keys.A) && pos.X > 0)
            {
                velocity.X = -5;
                moving.Update();
            }

            if (Keyboard.GetState().IsKeyDown(Keys.D) && pos.X <= 800f - 65)
            {
                velocity.X = 5;
                moving.Update();
            }

            //När vänster musknapp är nertryckt så skjuts skott i en halvsekund åt gången (ett i taget)
            if (Mouse.GetState().LeftButton == ButtonState.Pressed)
            {
                if (reloadT >= 0.5)
                {
                    skottlista.Add(new Skott(skottTex, pos));
                    reloadT = 0;
                }
            }
            //kod för att kunna uppdatera lista
            foreach (var Skott in skottlista)
            {
                Skott.Update();
            }

            pos     += velocity;
            reloadT += gameTime.ElapsedGameTime.TotalSeconds;
            hitbox   = new Rectangle((int)pos.X, (int)pos.Y, 65, 90);
        }