public boolean mouseDown(Event event, int i, int j)
    {
        m_mouseX = i;
        m_mouseY = j;
        int k = (int)(rand.nextDouble() * 256D);
        int l = (int)(rand.nextDouble() * 256D);
        int i1 = (int)(rand.nextDouble() * 256D);
        int j1 = k << 16 | l << 8 | i1 | 0xff000000;
        int k1 = 0;
        for(int l1 = 0; l1 < bits; l1++)
        {
            if(bit_f[l1] != 0)
                continue;
            bit_px[l1] = m_mouseX;
            bit_py[l1] = m_mouseY;
            double d = rand.nextDouble() * 6.2800000000000002D;
            double d1 = 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();
        return true;
    }    public boolean mouseExit(Event event, int i, int j)
    {
        m_mouseX = i;
        m_mouseY = j;
        return true;
    }    void rend()
    {
        boolean flag = false;
        boolean flag1 = false;
        boolean flag2 = false;
        for(int k = 0; k < bits; k++)
            switch(bit_f[k])
            {
            default:
                break;            case 1: // '\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;            case 2: // '\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)
                {
                    int i = (int)(rand.nextDouble() * 2D);
                    int j = (int)(rand.nextDouble() * 5D);
                    bit_set(bit_sx[k] + i, bit_sy[k] + j, -1);
                }
                break;
            }        if(flag2 && bit_sound > 0)
            sound1.play();
    }    void bit_set(int i, int j, int k)
    {
        int l = i + j * m_nAppX;
        pix0[l] = k;
    }    private int m_nAppX;
    private int m_nAppY;
    private int m_centerX;
    private int m_centerY;
    private int m_mouseX;
    private int m_mouseY;
    private int m_sleepTime;
    private boolean isError;
    private boolean m_isPaintFinished;
    boolean isRunning;
    boolean isInitialized;
    Thread runner;
    int pix0[];
    MemoryImageSource offImage;
    Image dbImg;
    int pixls;
    int pixls2;
    Random rand;
    int bits;
    double bit_px[];
    double bit_py[];
    double bit_vx[];
    double bit_vy[];
    int bit_sx[];
    int bit_sy[];
    int bit_l[];
    int bit_f[];
    int bit_p[];
    int bit_c[];
    int bit_max;
    int bit_sound;
    int ru;
    int rv;
    AudioClip sound1;
    AudioClip sound2;
}
//结束,以上是原作者的代码

解决方案 »

  1.   

    编译完成,这样用把下面的村程*.htm文件保存到.class目录
    <TD height=200 width=200><FONT size=3><APPLET align=middle 
                code=jhanabi.class height=200 width=200><PARAM NAME="para_bits" VALUE="10000"><PARAM NAME="para_max" VALUE="150"><PARAM NAME="para_blendx" VALUE="50"><PARAM NAME="para_blendy" VALUE="50"><PARAM NAME="para_sound" VALUE="2"><PARAM NAME="width" VALUE="650"><PARAM NAME="align" VALUE="baseline"><PARAM NAME="code" VALUE="jhanabi.class"><PARAM NAME="codeBase" VALUE="./"><PARAM NAME="height" VALUE="270">
    </APPLET>
    </FONT>
    </TD>那两个声音文件,可以从我的那个里面llrock.myrice.com/applet/fireworks.rar找到,该一下名字。
    你可以在llrock.myrice.com/applet/fireworks.html看到我的效果。
    也可以下载llrock.myrice.com/applet/fireworks.rar到本机运行,
    我自己还没有满意,所以不公开代码先,这只是测试版本。