JAVA源代码!可以显示水波效果!

类别:Java 点击:0 评论:0 推荐:

水波效果程序:
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<XMAX-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);
 }
}

本文地址:http://com.8s8s.com/it/it10499.htm