⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawcenter.java

📁 这个是我写的小程序, 用来参加比赛的,现在比赛已经结束了, 把这个小游戏发表请大家给评评分, 看看有什么不合理的地方帮忙改改,提意见也行啊,谢谢! 注意:只有源码,还要自己编译
💻 JAVA
字号:
package pushbook.core;

import java.awt.*;
import javax.swing.*;
import pushbook.*;
import java.awt.image.*;


/**
 * <p>Title: 推箱子</p>
 * <p>Description: 绘制中心,提供各种游戏元素的绘制</p>
 * <p>Copyright: 无版权</p>
 * <p>Company: 吉林省前郭尔罗斯蒙古族自治县第五高级中学</p>
 * @author 郑雪
 * @version 1.0
 */
public class DrawCenter
{

    VolatileImage t = null;

    /**
     * 绘制指定对象
     */
    public void drawElement(GameElement e, MainFrame mainframe)
    {
        e.drawMe(mainframe.getGraphics(),mainframe);
    }

    /**
     * 重新绘制所有对象
     * @param mainframe MainFrame
     */
    public void reDrawAll(Frame mainframe)
    {
        if(t == null) t = mainframe.createVolatileImage(mainframe.getWidth(),mainframe.getHeight());
        Graphics g = t.getGraphics();
        drawGameArea(g, mainframe);
        drawScoreArea(g, mainframe);
        mainframe.getGraphics().drawImage(t,0,0,mainframe);
    }

    /**
     * 绘制游戏区域
     * @param g Graphics
     */
    public void drawGameArea(Graphics g,Frame mainframe)
    {
        Color currentColor = g.getColor();
        g.setColor(Invariable.gameMainBg);
        g.fillRect(0,0,mainframe.getWidth(),mainframe.getHeight());
        g.setColor(Invariable.gameAreaBg);
        /*
        g.fill3DRect(Invariable.gameAreaX,
                     Invariable.gameAreaY,
                     Invariable.gameAreaWidth,
                     Invariable.gameAreaHeight,
                     true);
        */
        ControlCenter gameControlCenter = ((MainFrame)mainframe).gameControlCenter;
        GameElement temp = null;
        for (int i = 0; i < gameControlCenter.gameElements.size(); i++)
        {
            temp = (GameElement) gameControlCenter.gameElements.get(i);
            temp.drawMe(g, mainframe);
        }
        g.setColor(currentColor);
    }


    /**
     * 绘制积分区域
     * @param g Graphics
     */
    public void drawScoreArea(Graphics g,Frame mainframe)
    {
        Color currentColor = g.getColor();

        g.drawImage((Image) ( (MainFrame) mainframe).gameControlCenter.stepsImage,
                    Invariable.scoreAreaX,Invariable.scoreAreaY,mainframe);

        String step = String.valueOf(((MainFrame)mainframe).gameControlCenter.stepConter);
        int tempnumber = 0;
        for(int i=0;i<step.length();i++)
        {
            tempnumber = step.charAt(i)-'0';
            g.drawImage( (Image) ( (MainFrame) mainframe).gameControlCenter.numberImage.get(tempnumber),
                        Invariable.scoreAreaX + 36 + i*18,
                        Invariable.scoreAreaY + 73, mainframe);
        }

        step = String.valueOf(((MainFrame)mainframe).gameControlCenter.stepConter +
                              ((MainFrame)mainframe).gameControlCenter.stepSum);
        for(int i=0;i<step.length();i++)
        {
            tempnumber = step.charAt(i)-'0';
            g.drawImage( (Image) ( (MainFrame) mainframe).gameControlCenter.numberImage.get(tempnumber),
                        Invariable.scoreAreaX + 36 + i*18,
                        Invariable.scoreAreaY + 180, mainframe);
        }
    }

    /**
     * 显示升级提示
     * @param text String 提示字符串
     */
    public void drawUpLevelText(Graphics g,String text)
    {
        Color currentColor = g.getColor();
        g.setColor(Color.white);
        g.fill3DRect((Invariable.windowWidth-Invariable.textAreaWidth)/2,
                     (Invariable.windowHeight-Invariable.textAreaHeight)/2,
                     Invariable.textAreaWidth,
                     Invariable.textAreaHeight,
                     true);
        g.setColor(Color.black);
        g.setFont(new Font("",Font.BOLD,18));
        g.drawString(text,240,255);
        g.setColor(currentColor);
        MidiPlayer.getInstance("").stop();
        try{Thread.currentThread().sleep(2000);}
        catch(Exception e){}

    }

    /**
     * 显示结束语
     * @param g Graphics
     */
    public void drawEndText(Graphics g,Image img,MainFrame mf)
    {
        g.drawImage(img,
                    (Invariable.windowWidth-img.getWidth(mf))/2,
                    (Invariable.windowHeight-img.getHeight(mf))/2,mf);

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -