本文主要是介绍java开发俄罗斯方块学习笔记 Day-6 布局,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天完成全部窗体的设计,从游戏界面可以看到需要设计8个不同的窗体,首先进行主窗体的设计,也就是游戏窗体。在设计游戏窗体时,需要认识到小方块尺寸为32*32,边框宽度为7,游戏窗口为16:9,经过计算主窗口宽度为32*10+14=334,高度为32*18+14=590,要设计出来的边框好看,设定边框宽度都相等,窗口之间的间距也相等。由最外面的边框宽度为654,根据16:9可以求得长度为1162.然后依次可以求得各个窗口的左上角定点坐标和窗口的宽和高。
由于在绘制窗口时都调用相同的绘图方法,都在new一个相同的对象,如果程序里在反复用相同的一个类创建的对象的时候,就要想到使用数组,避免重复书写绘图方法。
package ui;
import java.awt.Graphics;
import javax.swing.JPanel;
public class PanelGame extends JPanel{
private Lay[] lays=null;
public PanelGame(){
lays=new Lay[]{
//硬编码,是非常不好的开发习惯
//我们要尽量将数字或字符串定义成常量,或者写入配置文件
new Lay(40,32,334,279),
new Lay(40,343,334,279),
new Lay(414,32,334,590),
new Lay(788,32,334,124),
new Lay(788,188,176,148),
new Lay(964,188,158,148),
new Lay(788,368,334,200)
};
}
@Override //表示下面的方法要覆盖父类的方法
public void paintComponent(Graphics g){
//循环刷新游戏画面
for(int i=0;i<lays.length;i++){
//刷新层窗口
lays[i].creatWindow(g);
}
}
}
这篇关于java开发俄罗斯方块学习笔记 Day-6 布局的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!