Chinaunix首页 | 论坛 | 博客
  • 博客访问: 412596
  • 博文数量: 403
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -70
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-05 12:45
文章分类

全部博文(403)

文章存档

2014年(3)

2013年(1)

2012年(3)

2011年(21)

2010年(13)

2009年(64)

2008年(9)

2007年(36)

2006年(253)

分类: Java

2006-09-15 16:05:17

水波效果程序:
import java.awt.*;
import java.applet.Applet;
public class Splash extends Applet implements Runnable{
int XMAX=112;
float[] m_Height=new float[XMAX];
float[] m_G=new float[XMAX];
float b=1.01f;
float fWeight=3;
private Thread m_NAMI2D=null;
public boolean mouseDown(Event event,int i,int j){
m_Height[i/4-1]+=j/2;
m_Height[i/4]+=j;
m_Height[i/4+1]+=j/2;
return false;
}
public void paint(Graphics g){
g.setColor(Color.blue);
float f1=3F*fWeight;
float f2=f1-2.0F;
m_Height[0]=m_Height[1];
m_Height[XMAX-1]=m_Height[XMAX-2];
float f=m_Height[0];
for(int i=1;i float f3=((f+f2*m_Height[i]+m_Height[i+1])/f1+m_G[i])/b;
f=m_Height[i];
m_G[i]=f3-f;
m_Height[i]=f3;
g.clearRect((i-1)*4,(int)f3-30,4,60);
g.fillRect((i-1)*4,(int)f3+30,4,60);
}
}
public void run(){
do
try{
repaint();
Thread.sleep(50L);
}
catch(InterruptedException _ex){
stop();
}
while(true);
}
public void start(){
if(m_NAMI2D==null){
m_NAMI2D=new Thread(this);
m_NAMI2D.start();
}
}
public void stop(){
if(m_NAMI2D!=null){
m_NAMI2D.stop();
m_NAMI2D=null;
}
}
public void update(Graphics g){
paint(g);
}
}
阅读(1327) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~