记事本烟花代码编程(代码写烟花)

http://www.itjxue.com  2023-02-01 22:39  来源:未知  点击次数: 

电脑的烟花及编程码

就是就是

这方面用c麻烦死了

还是学学flash吧

简单得多

有c的基础

actionscript也不难学

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;//把这个线程置为空,让它执行完以后就释放

}

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

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

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

想用c#做一个烟花的动画,用窗口还是程序台?思路是什么,怎么写?求大神指教我是初学者,什么都不懂

控制台肯定不行。窗口程序至少属于可视化界面。

初学者别搞这个了,你要做的这个可以用其他软件更方便实现。

非要用C#的winform来做动画,研究一下System.Drawing吧。

至于编程思路可以简单给你讲一个:

定义个烟花类:

属性:

烟花的颜色【Color】,

烟花当前位置【Point】,

飞行方向【int】,

飞行轨迹【Point集合】,

烟花尾巴长度【int】,

爆炸生成烟花数量【int】

方法:

烟花爆炸()——如果爆炸生成的烟花数量设置是0,那么就不爆炸;否则安装数量new 新的烟花出来,360°除以烟花数量设置烟花方向。

烟花飞行()——飞行轨迹记录之前的位置,通过飞行方向计算当前位置,通过尾巴长度颜色属性进行图像刷新。

。。。。。。

少儿编程Scratch第十五讲,节日放烟花,附带程序

游戏规则:烟花从地上飞上天空,然后绽放,最后落下消失。

第一步

添加一个城市的背景

第二步

创建烟花Rocket角色,做出八个造型。

第一个造型命名为C1,代表升空的烟花。当这个小红点C1到达某个随机的位置,再将它切换到其他七个造型之一,这样就模拟出烟花绽放的效果。在加一些简单的图形效果让整个过程更加真实。

烟花程序如下:

开始将自己隐藏,然后重复执行,每隔一个随机时间创建一个克隆体。由于原角色是隐藏的,所以它的克隆体一开始都是隐藏的。

克隆体程序如下:

扩展

还可以将y坐标增加-1和将亮度特效增加-3模拟出烟花缓缓下降并逐渐消失的效果。

(责任编辑:IT教学网)

更多

推荐Illustrator教程文章