黑马程序员技术交流社区
标题:
模仿自由落体运动
[打印本页]
作者:
stormdzh
时间:
2013-9-12 14:26
标题:
模仿自由落体运动
import java.awt.*;
import java.awt.event.*;
class objectMovement
{
public static void main(String[] args)
{
Movement move=new Movement();
move.setBounds(10,10,450,450);
move.setVisible(true);
move.setTitle("模仿自由落体和平抛运动");
move.addWindowListener(new WindowAdapter(){public void WindowClosing(WindowEvent e){System.exit(0);}});
//System.out.println("Hello World!");
}
}
class Movement extends Frame implements Runnable
{
Thread RedBall,BlueBall;
Ball red,blue;
double t=0;
Movement()
{
RedBall=new Thread(this);
red=new Ball(Color.red);
BlueBall=new Thread(this);
blue=new Ball(Color.blue);
setLayout(null);
add(red);
add(blue);
red.setLocation(50,100);
blue.setLocation(80,100);
RedBall.start();
BlueBall.start();
}
public void run()
{
while (true)
{
t=t+0.2;
if(t>20) t=0;
if (Thread.currentThread()==RedBall)
{
int x=50;
int y=(int)(1.0/2*t*t*3.8)+50;
red.setLocation(x,y);
try
{
Thread.sleep(45);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
else if (Thread.currentThread()==BlueBall)
{
int x=50+(int)(26*t);
int y=(int)(1.0/2*t*t*3.8)+50;
red.setLocation(x,y);
try
{
Thread.sleep(45);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
}
class Ball extends Canvas
{
Color color;
Ball (Color color)
{
setSize(20,20);
this.color=color;
}
public void paint(Graphics g)
{
g.setColor(color);
g.fillOval(0,0,20,20);
}
}
以上是一个模仿自由落体运动的小实验。
运行结果:
zy.png
(42.07 KB, 下载次数: 18)
下载附件
2013-9-12 14:25 上传
作者:
深知一生短暂
时间:
2013-9-12 15:31
本帖最后由 深知一生短暂 于 2013-9-12 15:38 编辑
顶起!!!!但有个问题,为什么是不断闪烁!!!
作者:
javamov
时间:
2013-9-12 16:03
不断的擦除
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2