java烟花代码.docx

上传人:b****6 文档编号:5995819 上传时间:2023-01-02 格式:DOCX 页数:9 大小:16.25KB
下载 相关 举报
java烟花代码.docx_第1页
第1页 / 共9页
java烟花代码.docx_第2页
第2页 / 共9页
java烟花代码.docx_第3页
第3页 / 共9页
java烟花代码.docx_第4页
第4页 / 共9页
java烟花代码.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

java烟花代码.docx

《java烟花代码.docx》由会员分享,可在线阅读,更多相关《java烟花代码.docx(9页珍藏版)》请在冰豆网上搜索。

java烟花代码.docx

java烟花代码

import

import

importjava.awt.*;

import

import

publicclasshuaextendsApplet

implementsRunnable

{

publichua()

{

m_mouseX=0;

m_mouseY=0;

m_sleepTime=5;

isError=false;

isInitialized=false;

rand=newRandom();

bits=10000;

bit_px=newdouble[bits];

bit_py=newdouble[bits];

bit_vx=newdouble[bits];

bit_vy=newdouble[bits];

bit_sx=newint[bits];

bit_sy=newint[bits];

bit_l=newint[bits];

bit_f=newint[bits];

bit_p=newint[bits];

bit_c=newint[bits];

ru=50;

rv=50;

}

publicvoidinit()

{

Strings=getParameter("para_bits");

if(s!

=null)

bits=Integer.parseInt(s);

s=getParameter("para_max");

if(s!

=null)

bit_max=Integer.parseInt(s);

s=getParameter("para_blendx");

if(s!

=null)

ru=Integer.parseInt(s);

s=getParameter("para_blendy");

if(s!

=null)

rv=Integer.parseInt(s);

s=getParameter("para_sound");

if(s!

=null)

bit_sound=Integer.parseInt(s);

m_nAppX=size().width;

m_nAppY=size().height;

m_centerX=m_nAppX/2;

m_centerY=m_nAppY/2;

m_mouseX=m_centerX;

m_mouseY=m_centerY;

resize(m_nAppX,m_nAppY);

pixls=m_nAppX*m_nAppY;

pixls2=pixls-m_nAppX*2;

pix0=newint[pixls];

offImage=newMemoryImageSource(m_nAppX,m_nAppY,pix0,0,m_nAppX);

offImage.setAnimated(true);

dbImg=createImage(offImage);

for(inti=0;i

pix0[i]=0xff000000;

sound1=getAudioClip(getDocumentBase(),"firework.au");

sound2=getAudioClip(getDocumentBase(),"syu.au");

for(intj=0;j

bit_f[j]=0;

isInitialized=true;

start();

}

publicvoidrun()

{

while(!

isInitialized)

try

{

Thread.sleep(200L);

}

catch(InterruptedExceptioninterruptedexception){}

do

{

for(intj=0;j

{

intk=pix0[j];

intl=pix0[j+1];

inti1=pix0[j+m_nAppX];

intj1=pix0[j+m_nAppX+1];

inti=(k&0xff0000)>>16;

intk1=((((l&0xff0000)>>16)-i)*ru>>8)+i;

i=(k&0xff00)>>8;

intl1=((((l&0xff00)>>8)-i)*ru>>8)+i;

i=k&0xff;

inti2=(((l&0xff)-i)*ru>>8)+i;

i=(i1&0xff0000)>>16;

intj2=((((j1&0xff0000)>>16)-i)*ru>>8)+i;

i=(i1&0xff00)>>8;

intk2=((((j1&0xff00)>>8)-i)*ru>>8)+i;

i=i1&0xff;

intl2=(((j1&0xff)-i)*ru>>8)+i;

inti3=((j2-k1)*rv>>8)+k1;

intj3=((k2-l1)*rv>>8)+l1;

intk3=((l2-i2)*rv>>8)+i2;

pix0[j]=i3<<16|j3<<8|k3|0xff000000;

}

rend();

offImage.newPixels(0,0,m_nAppX,m_nAppY);

try

{

Thread.sleep(m_sleepTime);

}

catch(InterruptedExceptioninterruptedexception1){}

}while(true);

}

publicvoidupdate(Graphicsg)

{

paint(g);

}

publicvoidpaint(Graphicsg)

{

g.drawImage(dbImg,0,0,this);

}

publicvoidstart()

{

if(isError)

return;

isRunning=true;

if(runner==null)

{

runner=newThread(this);

runner.start();

}

}

publicvoidstop()

{

if(runner!

=null)

{

runner.stop();

runner=null;

}

}

publicbooleanmouseMove(Eventevent,inti,intj)

{

m_mouseX=i;

m_mouseY=j;

returntrue;

}

publicbooleanmouseDown(Eventevent,inti,intj)

{

m_mouseX=i;

m_mouseY=j;

intk=(int)(rand.nextDouble()*256D);

intl=(int)(rand.nextDouble()*256D);

inti1=(int)(rand.nextDouble()*256D);

intj1=k<<16|l<<8|i1|0xff000000;

intk1=0;

for(intl1=0;l1

{

if(bit_f[l1]!

=0)

continue;

bit_px[l1]=m_mouseX;

bit_py[l1]=m_mouseY;

doubled=rand

doubled1=rand.nextDouble();

bit_vx[l1]=Math.sin(d)*d1;

bit_vy[l1]=Math.cos(d)*d1;

bit_l[l1]=(int)(rand.nextDouble()*100D)+100;

bit_p[l1]=(int)(rand.nextDouble()*3D);

bit_c[l1]=j1;

bit_sx[l1]=m_mouseX;

bit_sy[l1]=m_nAppY-5;

bit_f[l1]=2;

if(++k1==bit_max)

break;

}

if(bit_sound>1)

sound2.play();

returntrue;

}

publicbooleanmouseExit(Eventevent,inti,intj)

{

m_mouseX=i;

m_mouseY=j;

returntrue;

}

voidrend()

{

booleanflag=false;

booleanflag1=false;

booleanflag2=false;

for(intk=0;k

switch(bit_f[k])

{

default:

break;

case1:

//'\001'

bit_vy[k]+=rand.nextDouble()/50D;

bit_px[k]+=bit_vx[k];

bit_py[k]+=bit_vy[k];

bit_l[k]--;

if(bit_l[k]==0||bit_px[k]<0.0D||bit_py[k]<0.0D||bit_px[k]>(double)m_nAppX||bit_py[k]>(double)(m_nAppY-3))

{

bit_c[k]=0xff000000;

bit_f[k]=0;

}else

if(bit_p[k]==0)

{

if((int)(rand.nextDouble()*2D)==0)

bit_set((int)bit_px[k],(int)bit_py[k],-1);

}else

{

bit_set((int)bit_px[k],(int)bit_py[k],bit_c[k]);

}

break;

case2:

//'\002'

bit_sy[k]-=5;

if((double)bit_sy[k]<=bit_py[k])

{

bit_f[k]=1;

flag2=true;

}

if((int)(rand.nextDouble()*20D)==0)

{

inti=(int)(rand.nextDouble()*2D);

intj=(int)(rand.nextDouble()*5D);

bit_set(bit_sx[k]+i,bit_sy[k]+j,-1);

}

break;

}

if(flag2&&bit_sound>0)

sound1.play();

}

voidbit_set(inti,intj,intk)

{

intl=i+j*m_nAppX;

pix0[l]=k;

}

privateintm_nAppX;

privateintm_nAppY;

privateintm_centerX;

privateintm_centerY;

privateintm_mouseX;

privateintm_mouseY;

privateintm_sleepTime;

privatebooleanisError;

privatebooleanm_isPaintFinished;

booleanisRunning;

booleanisInitialized;

Threadrunner;

intpix0[];

MemoryImageSourceoffImage;

ImagedbImg;

intpixls;

intpixls2;

Randomrand;

intbits;

doublebit_px[];

doublebit_py[];

doublebit_vx[];

doublebit_vy[];

intbit_sx[];

intbit_sy[];

intbit_l[];

intbit_f[];

intbit_p[];

intbit_c[];

intbit_max;

intbit_sound;

intru;

intrv;

AudioClipsound1;

AudioClipsound2;

}

来源CSDN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1