那個(gè)浪漫煙花特效是Applet小程序
10年的徐水網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整徐水建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“徐水網(wǎng)站設(shè)計(jì)”,“徐水網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
從你那個(gè)網(wǎng)站取出來就行了
小程序的地址:
音樂的地址:
圖片背景地址:
import?java.awt.*;
import?java.applet.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?Fireworks?extends?Applet?implements?MouseListener,?Runnable?{
int?x,?y;//記錄鼠標(biāo)點(diǎn)擊的坐標(biāo)
int?top,?point;//好像沒用到
public?void?init()?{
x?=?0;
y?=?0;
setBackground(Color.black);//?設(shè)置背景色為黑色
addMouseListener(this);//添加鼠標(biāo)監(jiān)聽
}
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();//這是畫筆,得到一個(gè)畫筆
int?y_move,?y_click,?x_click;
int?v;//用于計(jì)算等待的時(shí)間
x_click?=?x;
y_click?=?y;//把點(diǎn)擊的坐標(biāo)保存下來,因?yàn)槠渌€程會(huì)去改這兩個(gè)坐標(biāo)。
y_move?=?400;//用來計(jì)算變動(dòng)的那個(gè)點(diǎn),現(xiàn)在是屏幕的最大高度
v?=?3;
int?r,?g,?b;
while?(y_move??y_click)//如果點(diǎn)擊的位置小于最大高度。
{
g1.setColor(Color.black);//畫筆設(shè)成黑色
g1.fillOval(x_click,?y_move,?5,?5);//畫圓,圓點(diǎn)在點(diǎn)擊的X軸,程序界面的最高點(diǎn),長為5,寬為5
y_move?-=?5;//最高點(diǎn)-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是光的三原色,這個(gè)就是煙花產(chǎn)生的顏色,這里定義成隨機(jī)的,但在一個(gè)范圍里
g1.setColor(new?Color(r,?g,?b));//把畫筆改成那個(gè)顏色
g1.fillOval(x_click,?y_move,?5,?5);//畫一個(gè)這樣的圓
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)?{
}
}//讓最后的那串東西的點(diǎn)消失
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);//然后畫黑圈,相當(dāng)于讓彩圈消失。
}
}
public?void?mousePressed(MouseEvent?e)?{//點(diǎn)擊從這里開始~~~~~~~~~~~~~~
x?=?e.getX();
y?=?e.getY();//得到鼠標(biāo)點(diǎn)擊的坐標(biāo)
Thread?one?=?new?Thread(this);//新建一個(gè)線程
one.start();//啟動(dòng)這個(gè)線程,到上面的run方法
one?=?null;//把這個(gè)線程置為空,讓它執(zhí)行完以后就釋放
}
如果你想一下自己寫要怎樣寫這個(gè)程序,就很容易理解這個(gè)程序了。
一直從下向上畫圓,然后把下面的圓擦掉,就能得到一個(gè)向上升的煙花效果,
爆炸效果就是先畫小圓再畫大圓,然后擦掉小圓,再擦掉大圓。
天天敲代碼的朋友,有沒有想過代碼也可以變得很酷炫又浪漫?今天就教大家用Python模擬出綻放的煙花,工作之余也可以隨時(shí)讓程序?yàn)樽约悍乓粓鰺熁ㄐ恪?/p>
python炫酷煙花表白源代碼
這個(gè)有趣的小項(xiàng)目并不復(fù)雜,只需一點(diǎn)可視化技巧,100余行Python代碼和程序庫Tkinter,最后我們就能達(dá)到下面這個(gè)效果:
學(xué)完本教程后,你也能做出這樣的煙花秀。
整體概念梳理
我們的整個(gè)理念比較簡單。
我們這里通過讓畫面上一個(gè)粒子分裂為X數(shù)量的粒子來模擬爆炸效果。粒子會(huì)發(fā)生"膨脹”,意思是它們會(huì)以恒速移動(dòng)且相互之間的角度相等。這樣就能讓我們以一個(gè)向外膨脹的圓圈形式模擬出煙花綻放的畫面。經(jīng)過一定時(shí)間后,粒子會(huì)進(jìn)入"自由落體”階段,也就是由于重力因素它們開始?jí)嬄涞降孛?,仿若綻放后熄滅的煙花。
這個(gè)是比較有名的那個(gè)煙花,不知道你有沒有用:
建個(gè)工程,以Fireworks為類即可
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;
/**
*對(duì)小程序進(jìn)行變量和顏色的初始化。
*/
public void init()
{
x = 0;
y = 0;
//設(shè)置背景色為黑色
setBackground(Color.black);
addMouseListener(this);
}
public void paint(Graphics g)
{
}
/**
*使該程序可以作為應(yīng)用程序運(yùn)行。
*/
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.getContentPane().add(
applet, BorderLayout.CENTER);
frame.setSize(800,400);
applet.init();
applet.start();
frame.setVisible(true);
}
/**
*程序主線程,對(duì)一個(gè)煙花進(jìn)行繪制。
*/
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);
y_move -= 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;
g1.setColor(new Color(r,g,b));
g1.fillOval(x_click,y_move,5,5);
for(int j = 0 ;j=10;j++)
{
if(r55) r -= 20;
if(g55) g -= 20;
if(b55) 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(i23)
{
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);
}
}
/**
*對(duì)鼠標(biāo)事件進(jìn)行監(jiān)聽。
*臨聽其鼠標(biāo)按下事件。
*當(dāng)按下鼠標(biāo)時(shí),產(chǎn)生一個(gè)新線程。
*/
public void mousePressed(MouseEvent e)
{
x = e.getX();
y = e.getY();
Thread one;
one = new Thread(this);
one.start();
one = null;
}
/**
*實(shí)現(xiàn)MouseListener接中的方法。為一個(gè)空方法。
*/
public void mouseReleased(MouseEvent e)
{
}
/**
*實(shí)現(xiàn)MouseListener接中的方法。為一個(gè)空方法。
*/
public void mouseEntered(MouseEvent e)
{
}
/**
*實(shí)現(xiàn)MouseListener接中的方法。為一個(gè)空方法。
*/
public void mouseExited(MouseEvent e)
{
}
/**
*實(shí)現(xiàn)MouseListener接中的方法。為一個(gè)空方法。
*/
public void mouseClicked(MouseEvent e)
{
}
}
在電腦里保存的話只能保存網(wǎng)頁~
QZONE的話不太清楚~本人還不會(huì)玩
這個(gè)放煙花的程序只能在網(wǎng)頁上用
這個(gè)地址可以下載那個(gè)網(wǎng)頁~你可以自己編輯網(wǎng)頁~里面的那個(gè).class的就是放煙花的程序了~把它插進(jìn)你的網(wǎng)頁里就可以了
文章題目:浪漫煙花java代碼,java放煙花的代碼
鏈接分享:http://aaarwkj.com/article32/dsiippc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、小程序開發(fā)、商城網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)