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

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

水波效果程序:

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);

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航