Beispiel #1
0
        /// <summary>
        /// 主窗口屏幕绘制
        /// </summary>
        /// <param name="e"></param>
        protected override void OnPaint(PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            gameMap.Draw(g);//地图
            if (gamep1Tank.IsBorn)
            {
                gamep1Tank.Draw(g);//玩家坦克
            }
            foreach (eTank etank in ListeTank)
            {
                if (etank.ETankFrames > 30)
                {
                    etank.Draw(g);//敌方坦克
                }
            }
            foreach (Bullet bullet in ListBullet)
            {
                bullet.Draw(g);//炮弹
            }
            for (int i = 0; i < 13; i++)
            {
                g.DrawImage(Properties.Resources.grasses, i * 60, 450);//树林
            }
            for (int i = 0; i < ListProperty.Count; i++)
            {
                ListProperty[i].Draw(g);//道具
            }
            if (gameCheckHit.IsBaseDestyoyed)
            {
                g.FillRectangle(Brushes.Black, 360, 630, 60, 60);
                g.DrawImage(Properties.Resources.destory, 360, 630);//被摧毁的己方基地
            }
            for (int i = 0; i < ListAnimation.Count; i++)
            {
                ListAnimation[i].Draw(g);//动画效果
            }
            if (gameTankWar.IsStop)
            {
                g.DrawImage(Properties.Resources.pause, 326, 276);//暂停后的继续图标
            }
        }