コード例 #1
0
        public void Draw(SpriteBatch sb)
        {
            mapObs[currentMap].Draw(sb);
            player1.Draw(sb);
            player2.Draw(sb);
            player3.Draw(sb);
            player4.Draw(sb);
            foreach (SpearClass spear in spears)
            {
                spear.Draw(sb);
            }

            for (int i = 0; i < animations.Count; i++)
            {
                animations[i].Draw(sb);
            }

            if (paused)
            {
                string pauseMessage = "P" + (playerPaused + 1) + " paused";
                sb.Draw(control_diagram, new Rectangle((int)(screenSize.X / 2) - (int)(control_diagram.Width / 4), (int)(screenSize.Y / 2) - (int)(control_diagram.Height / 4), (int)(control_diagram.Width / 2), (int)(control_diagram.Height / 2)), Color.White);
                sb.DrawString(font, pauseMessage, new Vector2(screenSize.X / 2 - font.MeasureString(pauseMessage).X / 2, (screenSize.Y / 2) + (int)(control_diagram.Height / 4)), Color.Black);
            }
            if (roundReset > 0)
            {
                Vector2 temp = new Vector2(screenSize.X / 2 - font.MeasureString("SCORES").X / 2, 300 - (((int)font.MeasureString("SCORES").Y) * activePlayers));
                sb.Draw(scores_bg, new Rectangle((int)temp.X - 15, (int)temp.Y - 10, (int)font.MeasureString("SCORES").X + 30, (int)font.MeasureString("SCORES").Y *(activePlayers + 1)), Color.White);
                sb.DrawString(font, "SCORES", temp, Color.White);

                temp.Y += 32;
                for (int i = 0; i < players.Length; i++)
                {
                    if (players[i] != null)
                    {
                        var drawString = "P" + (i + 1) + ": " + players[i].score;
                        sb.DrawString(font, drawString, temp, Color.White);
                        temp.Y += 32;
                    }
                }
            }
        }