Esempio n. 1
0
        public void Update(GameTime gameTime, List<Barrier> barriers, SuperPj pj)
        {
            switch (direction)
            {
                case 0:
                    sprite.Position.X += speed;
                    break;
                case 1:
                    sprite.Position.X += -speed;
                    break;
                case 2:
                    sprite.Position.Y += -speed;
                    break;
                case 3:
                    sprite.Position.Y += +speed;
                    break;
                default:
                    sprite.Position.X = 0;
                    sprite.Position.Y = 0;
                    break;
            }

               // Console.WriteLine(lifeTime.Elapsed.TotalSeconds);

            if (lifeTime.Elapsed.TotalSeconds >= spawnDuration.TotalSeconds)
            {
                Active = false;
                lifeTime.Stop();
            }

            UpdateCollisionBarriers(barriers);
            if(pj.Active)
                UpdateCollisionPj(pj);

            sprite.Update(gameTime);
        }
Esempio n. 2
0
        public void UpdateCollisionPj(SuperPj pj)
        {
            Rectangle projectileBounds;
            Rectangle pjBounds;

            projectileBounds = new Rectangle((int)sprite.Position.X,
                 (int)sprite.Position.Y,
                 sprite.FrameWidth,
                 sprite.FrameHeight);

            pjBounds = new Rectangle((int)pj.Position.X,
                 (int)pj.Position.Y,
                 pj.character.Width,
                 pj.character.Height);

            if (projectileBounds.Intersects(pjBounds))
            {
                pj.Health -= Damage;
                Active = false;
            }
        }