import
import
import java.awt.*;
import
import
public class hua extends Applet
    implements Runnable
{
    public hua()
    {
        m_mouseX = 0;
        m_mouseY = 0;
        m_sleepTime = 5;
        isError = false;
        isInitialized = false;
        rand = new Random();
        bits = 10000;
        bit_px = new double[bits];
        bit_py = new double[bits];
        bit_vx = new double[bits];
        bit_vy = new double[bits];
        bit_sx = new int[bits];
        bit_sy = new int[bits];
        bit_l = new int[bits];
        bit_f = new int[bits];
        bit_p = new int[bits];
        bit_c = new int[bits];
        ru = 50;
        rv = 50;
    }
    public void init()
    {
        String s = 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 = new int[pixls];
        offImage = new MemoryImageSource(m_nAppX, m_nAppY, pix0, 0, m_nAppX);
        offImage.setAnimated(true);
        dbImg = createImage(offImage);
        for(int i = 0; i < pixls; i++)
            pix0[i] = 0xff000000;
        sound1 = getAudioClip(getDocumentBase(), "firework.au");
        sound2 = getAudioClip(getDocumentBase(), "syu.au");
        for(int j = 0; j < bits; j++)
            bit_f[j] = 0;
        isInitialized = true;
        start();
    }
    public void run()
    {
        while(!isInitialized)
            try
            {
                Thread.sleep(200L);
            }
            catch(InterruptedException interruptedexception) { }
        do
        {
            for(int j = 0; j < pixls2; j++)
            {
                int k = pix0[j];
                int l = pix0[j + 1];
                int i1 = pix0[j + m_nAppX];
                int j1 = pix0[j + m_nAppX + 1];
                int i = (k & 0xff0000) >> 16;
                int k1 = ((((l & 0xff0000) >> 16) - i) * ru >> 8) + i;
                i = (k & 0xff00) >> 8;
                int l1 = ((((l & 0xff00) >> 8) - i) * ru >> 8) + i;
                i = k & 0xff;
                int i2 = (((l & 0xff) - i) * ru >> 8) + i;
java烟花绽放代码                i = (i1 & 0xff0000) >> 16;
                int j2 = ((((j1 & 0xff0000) >> 16) - i) * ru >> 8) + i;
                i = (i1 & 0xff00) >> 8;
                int k2 = ((((j1 & 0xff00) >> 8) - i) * ru >> 8) + i;
                i = i1 & 0xff;
                int l2 = (((j1 & 0xff) - i) * ru >> 8) + i;
                int i3 = ((j2 - k1) * rv >> 8) + k1;
                int j3 = ((k2 - l1) * rv >> 8) + l1;
                int k3 = ((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(InterruptedException interruptedexception1) { }
        } while(true);
    }
    public void update(Graphics g)
    {
        paint(g);
    }
    public void paint(Graphics g)
    {
        g.drawImage(dbImg, 0, 0, this);
    }
    public void start()
    {
        if(isError)
            return;
        isRunning = true;
        if(runner == null)
        {
            runner = new Thread(this);
            runner.start();
        }
    }
    public void stop()
    {
        if(runner != null)
        {
            runner.stop();
            runner = null;
        }
    }
    public boolean mouseMove(Event event, int i, int j)
    {
        m_mouseX = i;
        m_mouseY = j;
        return true;
    }
    public boolean mouseDown(Event event, int i, int j)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。