⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bouncingball.java

📁 ball两球相撞 ball两球相撞多次 例程
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Ball extends JApplet implements Runnable{
	private Thread blueBall;
	private boolean xUp,yUp,bouncing;
	private int x, y, xDx, yDy;
	private final int MAX_X=200, MAX_Y=200;
	
	public void init(){
		xUp=false;
		yUp=false;
		xDx=1;
		yDy=1;	
		
		addMouseListener(
				new MouseListener(){
					public void mousePressed(MouseEvent event){
					creatBall(event);
					}
					public void mouseExited(MouseEvent event){}
					public void mouseClicked(MouseEvent event){}
					public void mouseReleased(MouseEvent event){}
					public void mouseEntered(MouseEvent event){}
				}//end new
				);
		setSize(MAX_X,MAX_Y);
				
	}//end init();
	
	private void creatBall(MouseEvent event){
		if(blueBall==null){
			x=event.getX();
			y=event.getY();
			blueBall=new Thread(this);
			bouncing=true;
			blueBall.start();
		}
	}//end creatball
	
	public void stop(){ blueBall=null;}
	
	public void paint(Graphics g){
		super.paint(g);
		if(bouncing){
			g.setColor(Color.blue);
			g.fillOval(x,y,10,10);
		}
	}
	
	public void run(){
		while(true){
			try{
				blueBall.sleep(10);
			}catch(InterruptedException e){
				System.err.println(e.toString());
			}
			if(xUp==true)x+=xDx;
			else x-=xDx;
			if(yUp==true)y+=yDy;
			else y-=yDy;
			
			if(y<=0){
				yUp=true;
				yDy=(int)(Math.random()*5+2);
			}else if(y>=MAX_Y-10){
				yUp=false;
				yDy=(int)(Math.random()*5+2);
			}
			
			if(x<=0){
				xUp=true;
				xDx=(int)(Math.random()*5+2);
			}else if(x>=MAX_Y-10){
				xUp=false;
				xDx=(int)(Math.random()*5+2);
			}
			repaint();
		}
	}

}//end Class Ball









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -