java小游戏超级玛丽:07.第三关的设计

第三关预览图

 砖块位置图:

 砖块坐标:

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=2
            for (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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影51

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值