龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java基于Swing实现的打猎射击游戏代码

时间:2014-11-14 11:09来源:网络整理 作者:网络 点击:
分享到:
这篇文章主要介绍了Java基于Swing实现的打猎射击游戏代码,包含完整的游戏事件处理与逻辑流程控制,具有不错的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Java基于Swing实现的打猎射击游戏代码。分享给大家供大家参考。

具体实现代码如下:

复制代码 代码如下:

package Game;

import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;

public class BackgroundPanel extends JPanel {
        private static final long serialVersionUID = 1L;
        private Image image;// 背景图片

        public BackgroundPanel() {
                setOpaque(false);
                setLayout(null);
        }

        public void setImage(Image image) {
                this.image = image;
        }

        /**
         * 画出背景
         */
        protected void paintComponent(Graphics g) {
                if (image != null) {
                        // 图片宽度
                        int width = getWidth();
                        // 图片高度
                        int height = getHeight();
                        // 画出图片
                        g.drawImage(image, 0, 0, width, height, this);
                }
                super.paintComponent(g);
        }
}

复制代码 代码如下:

package Game;

import java.awt.Container;
import java.awt.event.*;
import javax.swing.*;

public class BirdLabel extends JLabel implements Runnable {
        private static final long serialVersionUID = 1L;
        // 随机生成线程的休眠时间,即控制小鸟移动速度
        private int sleepTime = (int) (Math.random() * 300) + 5;
        private int y = 100;
        private Thread thread;// 将线程作为成员变量
        private Container parent;
        private int score = 15;// 该类角色对应的分数

        /**
         * 构造方法
         */
        public BirdLabel() {
                super();
                // 创建小鸟图标对象
                ImageIcon icon = new ImageIcon(getClass().getResource("bird.gif"));
                setIcon(icon);// 设置控件图标
                addMouseListener(new MouseAction());// 添加鼠标事件监听器
                // 添加控件事件监听器
                addComponentListener(new ComponentAction());
                thread = new Thread(this);// 创建线程对象
        }

精彩图集

赞助商链接