三、使用鼠标控制飞机,实现风骚走位(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar

原理其实和键盘控制相差不多,还是要实现鼠标监听类,添加监听。

//useMouse由F2控制,控制是不是用鼠标操作

//鼠标监听类
    private class MouseMonitor extends MouseAdapter{

        @Override
        public void mousePressed(MouseEvent e) {
            System.out.println("鼠标按下");
        }

        @Override
        public void mouseReleased(MouseEvent e) {
            System.out.println("鼠标释放");
            //左键为16,右键为4
        }

        @Override
        public void mouseMoved(MouseEvent e) {
            if(useMouse){
                myplane.setX(e.getX());
                myplane.setY(e.getY());
            }
        }

        @Override
        public void mouseDragged(MouseEvent e) {
            if(useMouse){
                System.out.println(e.getModifiers());
                myplane.setX(e.getX());
                myplane.setY(e.getY());
            }
        }

        @Override
        public void mouseEntered(MouseEvent e) {
            if(useMouse){
                //鼠标进入设置鼠标消失
                //设置鼠标消失的方法就是将鼠标设置为一张透明的图片
                Toolkit  tk =Toolkit.getDefaultToolkit() ;
                Image img = GameImage.getImage("resources/cur.png");
                Cursor  ret =tk.createCustomCursor(img, new Point( 10,10) ,"mycur"); 
                game.setCursor(ret);
            }
        }
    }
static GameFrame game = new GameFrame();//为了使鼠标监听类中能使用,设置为全局的

    public static void main(String[] args) {
        game.launchFrame();
        new BgThread().start();
        new PlaySound("bgmusic.mp3", true).start();
        game.addKeyListener(game.new KeyMonitor());//添加键盘监听
        game.setCursor(null);
        game.addMouseListener(game.new MouseMonitor());
        game.addMouseMotionListener(game.new MouseMonitor());//添加鼠标监听
    }

实现了鼠标控制飞机的移动,并且使鼠标进入窗体时消失

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值