第三关预览图
砖块位置图:
砖块坐标:
A(290,390) B(320,360)
C(350,330) D(320,390)
E(350,480) F(350,390)
G(380,300) H(380,330)
I(380,360) J(380,390)
K(410,270) L(410,300)
M(410,330) N(410,360)
O(410,390) P(60,390)
Q(90,360) R(90,390)
目录
判断是否为第三关
绘制地面
绘制砖块A-O
绘制砖块P-R
定义tower和gan变量
绘制城堡和旗杆
生成getter方法
在重写的piant方法中绘制旗杆和城堡
判断是否为第三关
//判断是否是第三关if (sort == 3) {}
绘制地面
//绘制第三关的地面,上地面type=1,下地面type=2for (int i = 0;i < 27;i++) {obstacleList.add(new Obstacle(i*30,420,1,this));}for (int j = 0;j <= 120;j += 30) {for (int i = 0;i < 27;i++) {obstacleList.add(new Obstacle(i*30,570-j,2,this));}}
绘制砖块A-O
//绘制第三个背景的A-O砖块int temp = 290;for (int i = 390;i >= 270;i -= 30) {for (int j = temp;j <= 410;j += 30) {obstacleList.add(new Obstacle(j,i,7,this));}temp += 30;}
绘制砖块P-R
//绘制第三个背景的P-R砖块temp = 60;for (int i = 390;i >= 360;i -= 30) {for (int j = temp;j <= 90;j += 30) {obstacleList.add(new Obstacle(j,i,7,this));}temp += 30;}
定义tower和gan变量
//用于显示旗杆private BufferedImage gan = null;//用于显示城堡private BufferedImage tower = null;
绘制城堡和旗杆
//绘制旗杆gan = StaticValue.gan;//绘制城堡tower = StaticValue.tower;//添加旗子到旗杆上obstacleList.add(new Obstacle(515,220,8,this));
生成getter方法
public BufferedImage getGan() {return gan;}public BufferedImage getTower() {return tower;}
在重写的piant方法中绘制旗杆和城堡
在myFrame中的重写piant方法内
//绘制城堡graphics.drawImage(nowBg.getTower(),620,270,this);//绘制旗杆graphics.drawImage(nowBg.getGan(),500,220,this);
注:本文仅作为学习笔记,参考的视频链接
11_超级玛丽--第三关的设计_尚学堂_哔哩哔哩_bilibili