예제 #1
0
        public override void Update(GameTime gameTime)
        {
            int moveBy = random.Next(3, 10);

            if (Direction == Direction.LeftToRight)
            {
                RectPosition.X += moveBy;
            }
            else
            {
                RectPosition.X -= moveBy;
            }

            if (RectPosition.Intersects(RectStart))
            {
                Direction = Direction.LeftToRight;
            }
            else if (RectPosition.Intersects(RectEnd))
            {
                Direction = Direction.RightToLeft;
            }
        }
예제 #2
0
        public override void Update(GameTime gameTime)
        {
            if (RectEnd != new Rectangle(1, 1, 1, 1))
            {
                int moveBy = 1;

                if (Direction == Direction.LeftToRight)
                {
                    RectPosition.X += moveBy;
                }
                else
                {
                    RectPosition.X -= moveBy;
                }

                if (RectPosition.Intersects(RectStart))
                {
                    Direction = Direction.LeftToRight;
                }
                else if (RectPosition.Intersects(RectEnd))
                {
                    Direction = Direction.RightToLeft;
                }
            }
            elapsed += (float)gameTime.ElapsedGameTime.TotalSeconds;

            for (int i = 0; i < Bullets.Length; i++)
            {
                Bullets[i].Update(gameTime);
            }

            if (isActive)
            {
                Fire();
            }
        }