爱心技术专栏专题

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

摘录:java 来源:java 加入时间:2006年08月19日
摘要:
代码!可以显示水波效果!

水波效果程序:
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_…

转载:转载请保留本信息,本文来自
http://www.51dibs.com
/html/2006/article/info15/a_983511bbe07667e0.htm

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

站点:爱心种子小博士 关键字:代码!可以显示水波效果!

   
代码!可以显示水波效果!
水波效果程序:
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);
}
}




客户服务中心信箱:[email protected] [email protected] 网站地图

声明

合作伙伴: