「java输出烟花」用java编写烟花

博主:adminadmin 2022-12-21 14:21:09 79

本篇文章给大家谈谈java输出烟花,以及用java编写烟花对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

百度上java烟花代码改成按类编写,改变其烟花消失方式,实现鼠标一点实现多个烟花绽放

喔哇,

都是啥子年代了,

还食古不化,

在触摸屏幕用手指划动而产生燃放烟花的虚拟图像效果,

早就被时代彻底底抛弃了!!

现在都是在空中一划,根据手势,根据手势的空间运动,

立即就是实际来真格的,

真实、震撼、空间大爆炸、场面骇人、惊天动地。

无接触,

摒弃虚拟的虚假玩意儿。

你吹一口气,

燃放装置就喷出一股火焰。

机械加工能力和基础强劲的,

产生1米边长见方立体焰火造型,

与产生100米见方焰火造型的设备是通用的。

你与情侣自拍“刷脸”就立即产生肖像燃放造型,

其详细的工程技术细节,

早就有中英文对照的文本,

照着去做就可以了,

无需操作机床加工的人员,

去“进一步研究思考”、去开展“创造性的工作”。

关于java特效烟花

一个脚本 QQ空间不支持

你找个FLASH带JAVA脚本的 然后找出正确地址.

然后在QQ空间的自定义 添加模块 FLASH模块里

把地址复制上点确定 再托大到合适角度 一样有这样的效果

QQ空间代码的网站都有 百度一找一堆!

java烟花程序看不懂,求解释!

import java.awt.*;

import java.applet.*;

import java.awt.event.*;

import javax.swing.*;

public class Fireworks extends Applet implements MouseListener, Runnable {

int x, y;//记录鼠标点击的坐标

int top, point;//好像没用到

public void init() {

x = 0;

y = 0;

setBackground(Color.black);// 设置背景色为黑色

addMouseListener(this);//添加鼠标监听

}

public void paint(Graphics g) {

}

public static void main(String args[]) {

Fireworks applet = new Fireworks();

JFrame frame = new JFrame("TextAreaNew");

frame.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {//右上角的叉

System.exit(0);

}

});

frame.add(applet, BorderLayout.CENTER);

frame.setSize(800, 400);//程序的框框大小

applet.init();

applet.start();

frame.setVisible(true);//

}

public void run() {

// 变量初始化

Graphics g1;

g1 = getGraphics();//这是画笔,得到一个画笔

int y_move, y_click, x_click;

int v;//用于计算等待的时间

x_click = x;

y_click = y;//把点击的坐标保存下来,因为其它线程会去改这两个坐标。

y_move = 400;//用来计算变动的那个点,现在是屏幕的最大高度

v = 3;

int r, g, b;

while (y_move  y_click)//如果点击的位置小于最大高度。

{

g1.setColor(Color.black);//画笔设成黑色

g1.fillOval(x_click, y_move, 5, 5);//画圆,圆点在点击的X轴,程序界面的最高点,长为5,宽为5

y_move -= 5;//最高点-5

r = (((int) Math.round(Math.random() * 4321)) % 200) + 55;

g = (((int) Math.round(Math.random() * 4321)) % 200) + 55;

b = (((int) Math.round(Math.random() * 4321)) % 200) + 55;//rgb是光的三原色,这个就是烟花产生的颜色,这里定义成随机的,但在一个范围里

g1.setColor(new Color(r, g, b));//把画笔改成那个颜色

g1.fillOval(x_click, y_move, 5, 5);//画一个这样的圆

for (int j = 0; j = 10; j++) {

if (r  55)

r -= 20;

if (g  55)

g -= 20;

if (b  55)

b -= 20;

g1.setColor(new Color(r, g, b));

g1.fillOval(x_click, y_move + j * 5, 5, 5);//这一段都是改变颜色,然后画圆的

}

g1.setColor(Color.black);

g1.fillOval(x_click, y_move + 5 * 10, 5, 5);//把上一次画的彩色圆,用黑色画一遍,就能让它消失在背景里

try {

Thread.currentThread().sleep(v++);//让程序等一下,让你看到效果,不然画完的东西一下就不见了,你看不清。

} catch (InterruptedException e) {

}

}//上面这段代码是烟花的升上去的那一串东西的效果

for (int j = 12; j = 0; j--) {

g1.setColor(Color.black);

g1.fillOval(x_click, y_move + (j * 5), 5, 5);

try {

Thread.currentThread().sleep((v++) / 3);

} catch (InterruptedException e) {

}

}//让最后的那串东西的点消失

y_move = 400;

g1.setColor(Color.black);

while (y_move  y_click) {

g1.fillOval(x_click - 2, y_move, 9, 5);

y_move -= 5;

}//这段不太清楚是干什么的,我把它去掉,看不出效果的变化

v = 15;

for (int i = 0; i = 25; i++) {

r = (((int) Math.round(Math.random() * 4321)) % 200) + 55;

g = (((int) Math.round(Math.random() * 4321)) % 200) + 55;

b = (((int) Math.round(Math.random() * 4321)) % 200) + 55;

g1.setColor(new Color(r, g, b));

g1.drawOval(x_click - 3 * i, y_click - 3 * i, 6 * i, 6 * i);

if (i  23) {

g1.drawOval(x_click - 3 * (i + 1), y_click - 3 * (i + 1),

6 * (i + 1), 6 * (i + 1));

g1.drawOval(x_click - 3 * (i + 2), y_click - 3 * (i + 2),

6 * (i + 2), 6 * (i + 2));

}//上面这段是画爆炸的效果

try {

Thread.currentThread().sleep(v++);//停一下,看效果

} catch (InterruptedException e) {

}

g1.setColor(Color.black);

g1.drawOval(x_click - 3 * i, y_click - 3 * i, 6 * i, 6 * i);//然后画黑圈,相当于让彩圈消失。

}

}

public void mousePressed(MouseEvent e) {//点击从这里开始~~~~~~~~~~~~~~

x = e.getX();

y = e.getY();//得到鼠标点击的坐标

Thread one = new Thread(this);//新建一个线程

one.start();//启动这个线程,到上面的run方法

one = null;//把这个线程置为空,让它执行完以后就释放

}

如果你想一下自己写要怎样写这个程序,就很容易理解这个程序了。

一直从下向上画圆,然后把下面的圆擦掉,就能得到一个向上升的烟花效果,

爆炸效果就是先画小圆再画大圆,然后擦掉小圆,再擦掉大圆。

烟花的java程序

// Decompiled by DJ v2.9.9.60 Copyright 2000 Atanas Neshkov Date: 2003-1-8 9:49:09

// Home Page : - Check often for new version!

// Decompiler options: packimports(3)

// Source File Name: jhanabi.java

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.*;

import java.awt.image.MemoryImageSource;

import java.util.Random;

public class jhanabi extends Applet

implements Runnable

{

public jhanabi()

{

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;

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)

{

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;

}

在编写那个烟花的程序(java),以下是对烟花进行绘制的代码,我是新手看不懂,请帮忙解释下呢··

就是找了三个随机数, r,g,b作为颜色的初始色彩,在三个数字上偏移, 得到相近的颜色.. 并画出来..

关于java输出烟花和用java编写烟花的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。