ball.java

来自「JAVA写的模拟小球自由落下.两小球同时落地.需稍微改动.加大一下ClearRe」· Java 代码 · 共 56 行

JAVA
56
字号
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class Ball extends Applet implements Runnable
{
	Thread greenBall,blueBall;		//绿球和蓝球
	Graphics redPen,bluePen;
	double t=0;

	public void init()
	{ 
		greenBall=new Thread(this);
		blueBall=new Thread(this);
		redPen=getGraphics();
		bluePen=getGraphics();
		redPen.setColor(Color.green);
		bluePen.setColor(Color.blue);
	}

	public void start()
	{
		greenBall.start();
		blueBall.start();
	}

	public void run()
	{
		while(true)
		{
			t=t+0.2;
			if(Thread.currentThread()==greenBall)
			{
				if(t>20)
					t=0;
				redPen.clearRect(80,0,120,400);		//清空当前区域
	redPen.fillOval(100,(int)(1.0/2*t*t*9.8),16,16);	//9.8 g为重力加速度   自由落体公式h=1/2gt^2
				try{
					greenBall.sleep(60);
				}
				catch(InterruptedException e){}
			}
			else if(Thread.currentThread()==blueBall)
			{
				bluePen.clearRect(120,0,600,600);
	//抛物线运动方程	H=V0t+1/2gt^2	V0初始运动
	bluePen.fillOval(150+(int)(40*t),(int)(1.0/2*t*t*9.8),16,16);//9.8 g为重力加速度40为水平加速度
				try{
					blueBall.sleep(60);
				}
				catch(InterruptedException e){}
			}
		}
	}
}

⌨️ 快捷键说明

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