java游戏现代背景图片,急!急!求大神给这个小游戏加个背景图片

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package screen;import java.awt.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

import java.awt.image.BufferedImage;

import java.awt.image.ImageObserver;

import java.io.File;import javafx.scene.media.AudioClip;import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class BallFrame {

@SuppressWarnings("null")

public static void main(String[] args) {

JFrame f = new JFrame();

BallPanel b=new BallPanel();

f.add(b);

f.setTitle("张豪杰");

f.setSize( 1000, 800);

f.setLocationRelativeTo(null);

f.setDefaultCloseOperation(3);

f.setVisible(true);

f.addMouseMotionListener(b);

f.addMouseListener(b);

b.move(); } private static void repaint() {

// TODO Auto-generated method stub

}

}class BallPanel extends JPanel implements MouseMotionListener,MouseListener{

int px=300,bx=600,by=150;

int dir=(int)(Math.random()*4+1);

int sc=0,sleep=15;

int state = START;

public static final int START = 1;

public static final int RUNNING = 2;

public static final int PAUSE = 3;

public static final int OVER = 4;

public static final int RESTART = 5;

Color c;

@Override

public void paint(Graphics g) {

String score="分数:"+String.valueOf(sc);

super.paint(g);

g.setColor(c);

g.fillOval(bx, by, 100, 100);

g.setColor(Color.black);

g.fillRect( px, 700, 200, 10);

g.drawRoundRect(0, 0, 100, 30, 5, 5);

g.setFont(new Font("TimesRoman",Font.BOLD,24));

g.drawString(score, 10, 20);

if(state==START){

g.setColor(Color.blue);

g.drawString("点击屏幕开始游戏", 300, 200);

AudioClip ac;

ac = new AudioClip(new File("D:\\yinyue/排骨教主 - 清明上河图.mp3").toURI().toString());

ac.play(); //开始播放

}

if(state==PAUSE){

g.setColor(Color.orange);

g.drawString("游戏已经暂停", 300, 200);

}

if(state==OVER){

g.setColor(Color.RED);

g.drawString("游戏结束,点击屏幕开始新游戏", 250, 200);

}

}

public void move(){

new Thread(){

public void run() {

super.run();

while(true){

if(state==RUNNING){

switch (dir) {

case 1:{

bx+=10;

by+=10;

break;

}case 2:{

bx-=10;

by+=10;

break;

}case 3:{

bx-=10;

by-=10;

break;

}case 4:{

bx+=10;

by-=10;

break;

}default:

break;

}

//边界值

if(bx>900){

if(dir==1){dir=2;}

if(dir==4){dir=3;}

}

if(bx<0){

if(dir==2){dir=1;}

if(dir==3){dir=4;}

}

if(by>600){

if(px-100

c=new Color((int)(Math.random()*256), (int)(Math.random()*256), (int)(Math.random()*256));

if(dir==1){dir=4;}

if(dir==2){dir=3;}

sc++;

}

else{

by=600;

// JOptionPane.showMessageDialog(null, "你好,游戏已结束,你得了"+sc+"分!", "游戏结束", JOptionPane.INFORMATION_MESSAGE);

state=OVER;

}

}

if(by<0){

if(dir==4){dir=1;}

if(dir==3){dir=2;}

}

repaint();

try {

Thread.sleep(sleep-(sc/10));

} catch (InterruptedException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

};

}.start();

} @Override

public void mouseDragged(MouseEvent e) {

// TODO 自动生成的方法存根

} @Override

public void mouseMoved(MouseEvent e) {

if(e.getX()<770){

px=e.getX()-50;

}

} @Override

public void mouseClicked(MouseEvent e) {

if(state==START){

state=RUNNING;

}else if(state==RUNNING){

state=PAUSE;

}else if(state==PAUSE){

state=RUNNING;

}else if(state==OVER){

px=300;bx=500;by=100;

dir=(int)(Math.random()*4+1);

sc=0;sleep=15;

state=RUNNING;

}

repaint();

} @Override

public void mousePressed(MouseEvent e) {

// TODO 自动生成的方法存根

} @Override

public void mouseReleased(MouseEvent e) {

// TODO 自动生成的方法存根

} @Override

public void mouseEntered(MouseEvent e) {

if(state==PAUSE){

state=RUNNING;

repaint();

}

} @Override

public void mouseExited(MouseEvent e) {

if(state==RUNNING){

state=PAUSE;

repaint();

}

}

private Object getImage(Object codeBase, String string) {

// TODO Auto-generated method stub

return null;

} private Object getCodeBase() {

// TODO Auto-generated method stub

return null;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值