当前位置:首页 > 黑客技术 > 正文内容

编程流星雨特效怎么弄(流星雨的视频特效)

hacker2年前 (2022-07-12)黑客技术105

文章大纲:

用C语言编写流星雨程序

数字流星雨代码:

//流星雨.cpp:Defines the entry point for the console application.

//

///////////////////////////////////////////////////

//程序名称:数字流星雨

//最后修改:2006-10-15

///////////////////////////////////////////////////

#includelt;windows.hgt;

#includelt;time.hgt;

#includelt;stdlib.hgt;

#include"graphics.h"

#includelt;conio.hgt;

#includelt;math.hgt;

/***********************宏定义**********************/

#define PI 3.1415926//圆周率

#define WIDTH 200//屏幕宽度,流星出生区域

#define HEIGHT 150//屏幕高度,流星出生区域

#define V 20//流星速度,单次移动的像素数

#define LENGTH 20//流星字符数

#define DELAY 30//延时

#define NUM 45//流星个数

/******************定义流星结构体*******************/

struct meteor

{

int x0;

int y0;

int yh;

char str[LENGTH];

}me[NUM]={0};

/*********************函数声明**********************/

char AsciiRand();

void Move(char*p);

void InitMeteor(struct meteor*me);

int color(int y,int y0,int yh);

void Meteors(struct meteor me[]);

/***********************主函数**********************/

///int main(void)

int _tmain(int argc,_TCHAR*argv[]){

char c='\0';//接收键盘输入的变量

initgraph(WIDTH,HEIGHT);//初始化WIDTH*HEIGHT的绘图窗口

HWND hwnd=GetHWnd();//获得窗口句柄

SetWindowText(hwnd,"Gavin Liu数字流星雨");//修改窗口名称

ShowWindow(hwnd,SW_SHOWMAXIMIZED);//更大化显示窗口

MessageBox(hwnd,TEXT("点击【确定】开始演示流星雨效果,Esc键退出"),TEXT("提示"),MB_OK|MB_ICONWARNING);//弹出提示

srand((unsigned)time(NULL));//设置随机种子

for(int i=0;ilt;NUM;i++){//对NUM个流星体初始化

InitMeteor(melt;igt;);

}

while(c!=27){

BeginBatchDraw();//开始批量绘图

Meteors(me);//绘制一帧动画

FlushBatchDraw();//执行未完成的绘制任务

Sleep(DELAY);//延时

cleardevice();//清屏

for(int i=0;ilt;NUM;i++){

melt;igt;.yh+=V;

Move(melt;igt;.str);

if(melt;igt;.yhgt;HEIGHT+LENGTH*V){

InitMeteor(melt;igt;);

}

}

if(kbhit()){

c=getch();

}

}

EndBatchDraw();//结束批量绘图

closegraph();//结束绘图环境

return 0;

}

/***********************函数体**********************/

char AsciiRand(){//产生随机可见ASCII码

return((char)(rand()%(126-33)+33));

}

void Move(char*p){//字符后移,可以使显示时字符相对屏幕位置不变

char*pt=p+LENGTH;

while(ptgt;p){

*(--pt)=*(pt-1);

}

*p=AsciiRand();

}

void InitMeteor(struct meteor*me){//对一颗流星初始化

me-gt;x0=rand()%WIDTH;

me-gt;yh=me-gt;y0=rand()%HEIGHT;

for(int i=0;ilt;LENGTH;i++)

{

*(me-gt;str+i)=AsciiRand();

}

}

int color(int y,int y0,int yh){//确定流星的颜色

int color;

//出生点之前的流星体置成黑色

if(ylt;y0){

color=0;

}

//流星颜色自头至尾按照余弦函数递减

else{

//尾迹消失

color=(int)(255*cos((yh-y)*PI/(2*LENGTH*V)));

}

return color;

}

//打印一帧流星的画面

void Meteors(struct meteor me[]){

//设置格式:背景透明,字符高度,字体粗细,字体

setbkmode(TRANSPARENT);

setfont(12,12,"宋体");

//开始打印一帧图像

int y;

for(int n=0;nlt;NUM;n++){

for(int j=0;jlt;LENGTH;j++){

//流星中第j个字符的纵坐标

y=me[n].yh-j*V;

//设置颜色,流星的头部是白色的

setcolor(RGB(255*(0==j),color(y,me[n].y0,me[n].yh),255*(0==j)));

//打印字符

outtextxy(me[n].x0,y,me[n].str[j]);

}

}

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#includelt;文件名gt;

2、#include"文件名"

如何编程流星雨循环视频

#includestdio.h

#includestdlib.h

#includetime.h

void Print(int place[25][80])//,int color[10],int star[10])

{

int i,j;

for(i=0;i25;i++)

for(j=0;j80;j++)

if(place[i][j]!=0place[i][j]!=-1)

{

printf("%c",'A'+place[i][j]-1);

}

else if(place[i][j]==-1)

printf("#");

else

printf(" ");

}

void End(int place[25][80])

{

int i,j;

for(i=19;i25;i++)

for(j=0;j80;j++)

if(place[i][j]==-1)

break;

if(i==25j==80)

exit(0);

}

void main()

{

int speed[10],dir[10],x[10],y[10],star[10];

int i,j;

int place[25][80]=;

srand((int)time(0));

for(i=19;i25;i++)

for(j=0;j80;j++)

place[i][j] = -1;

for(i=0;i10;i++)

{

x[i]=0;y[i]=rand()€;

speed[i]=rand()%2+1;

dir[i]=rand()%5-2;

star[i] = rand()+1;

}

while(1)

{

for(i=0;i10;i++)

place[x[i]][y[i]] = star[i];

Print(place);

for(i=0;i10;i++)

place[x[i]][y[i]] = 0;

sleep(1);//将画面停留0.1(100毫秒)秒

AE怎么 *** 出这种流星效果?

我费了九犇贰虎之夯终于做出来了

首先新建固态图层用钢笔画一条流星轨迹,在图层添加描边效果,图层模式改为“屏幕”

效果路径选择刚画的流星轨迹,在“结束”项前后各打上关键帧0%-100%

播放预览就可以看到流星飞过去了,流行飞跃的轨迹就算完成了

接下来做流星的光效

复制一层,图层模式改为“添加”注意调整描边效果数值,使流星有发光效果

然后新建固态图层添加分形噪波效果,注意调整选项,演变前后打关键帧调整数值使噪波动起来

画个遮罩在遮罩形状打关键帧使噪波从右向左出现,注意调整遮罩数值

将图层放到更底下选择预合成

弹出窗口注意选项

合成好后点击前面的按钮隐藏掉

之后以刚才复制的流星图层再复制一层,注意调整数值,添加置换映射(置换图),置换图层选择刚才的噪波层

再添加添加复合模糊,模糊层也是选择噪波,调整好数值,会看到流星轨迹周围有烟雾的效果

创建一个空白对象

复制流星轨迹路径,粘贴到空白层的位置属性就会得到一样的运动轨迹了,注意关键帧位置和描边效果的要对齐

右击空白层点自动定向

弹出窗口选好选项确定

在网上找一颗自己喜欢的流星,要黑色背景的

放进AE里

想方设法处理好不要的部分,调整好角度和大小放在流星头的位置,图层模式改为添加,父级选择空白层,播放预览就可以看到流星飞走了

接下来新建固态图层添加粒子运动效果,播放预览会看到有红点点跑出来

点开粒子效果,按住Alt键用鼠标点击发射位置前面的按钮弹出表达式,按住表达式后面的蚊香图标拖到空白层的位置属性,就会看到粒子跟着流星走了

调整粒子数值,使它变成这副模样

然后新建固态图层,和刚才一样添加分形噪波调整数值得到图中效果,打关键帧使噪波有点动态,然后预合成

合成后放在粒子层上面,加亮度对比调整更有层次,画个遮罩使它不会过多影像流星上面,注意调整遮罩数值,之后隐藏

一样在粒子层添加置换映射和复合模糊,效果图层选择刚做的噪波合成,粒子图层选择亮度蒙版,可以看到尾部有一点流星产生的云雾

在网上找一张自己喜欢的背景

放进AE调整好大小

最后再加一点点细节就大功告成了!

……

……

有哪里不明白的可以追问

请问手机C语言怎么编出流星雨特效啊?

一般手机上这个语言,你可以选择一些那种翻译的那种语音包的那种语言给它翻译出来,然后你就直接在里面的那个特效效果里面直接设置自己想要的这个语音的这个特效就可以了。

如何在网页上添加流星雨效果

网页流星雨 步骤一、将背景改为黑色 步骤二、贴上以下语法[code] div align="center"SPAN class="e114-dd24-30d5-7f47 box" id="box" MARQUEE direction=down height=150 MARQUEE direction=left scrollAmount=4 FONT color=tomato / I★/I/font/marquee MARQUEE direction=left scrollAmount=6 FONT color=orange / I★/I/font/marquee MARQUEE direction=left scrollAmount=8 FONT color=yellow / I★/I/font/marquee MARQUEE direction=left scrollAmount=10 FONT color=lightgreen / I★/I/font/marquee MARQUEE direction=left scrollAmount=12 FONT color=blue / I★/I/font/marquee MARQUEE direction=left scrollAmount=10 FONT color=skyblue / I★/I/font/marquee MARQUEE direction=left scrollAmount=12 FONT color=darkviolet / I★/I/font/marquee MARQUEE direction=left scrollAmount=8 FONT color=hotpink / I★/I/font/marquee MARQUEE direction=left scrollAmount=6 FONT color=coral / I★/I/font/marquee MARQUEE direction=left scrollAmount=10 FONT color=gold / I★/I/font/marquee /MARQUEE /span/div[/code]步骤三、可自行更改Font color(星星颜色)和scrollAmount(速度)

c++流星雨编程步骤祥解

学习交流群:8721441o7

// 流星雨.cpp : 定义控制台应用程序的入口点。

//

 

#include "stdafx.h"

#includegraphics.h

#includemmstream.h

#includeconio.h

#includestdio.h

#pragma comment(lib,"winmm.lib")

#includeWindows.h

#includetime.h

#define MAXSTAR1 600

#define MAXSTAR 1000

 

struct STAR

{

int x,y,step,style;

}star[MAXSTAR];

struct STAR1

{

int x,y,step,color;

}star1[MAXSTAR1];

IMAGE image;

/*

int main()

{

initgraph(640,640); //创建一个窗口

mciSendString("open 等你下课.mp3 alias music",0,0,0);//加载音乐

mciSendString("play music repeat",0,0,0);//播放音乐

loadimage(image,"2.jpg",640,640);

putimage(0,0,image);

while(1);//Sleep(10000);

return 0;

}

*/

//星星模块

void initStar1(int i);

void moveStar1(int i);

//流行模块

void initstar(int i);

void moveStar();

void drawStar();

//初始化

void initData();

 

 

 

int main()

{

initData();

mciSendString("open 等你下课.mp3 alias music",0,0,0);//加载音乐

mciSendString("play music repeat",0,0,0);//播放音乐

while(1)

{

BeginBatchDraw(); 

cleardevice();

for(int i= 0 ;iMAXSTAR1;i++)

{

 moveStar1(i);

}

moveStar();

drawStar();

Sleep(50);

EndBatchDraw();

}

closegraph();

}

 

void moveStar1(int i)

{

putpixel(star1[i].x,star1[i].y,0);

star1[i].x += star1[i].step;

if(star1[i].x 640)

initStar1(i);

putpixel(star1[i].x,star1[i].y,star1[i].color);

}

void initData()

{

srand((unsigned int)time(NULL));

initgraph(640,480);

//初始化星空

loadimage(image,"1.jpg",50,50);

int i = 0;

for( i = 0; iMAXSTAR1 ;i++)

{

initStar1(i);

star1[i].x  = rand()%640;

}

//初始化流量

for(i = 0;iMAXSTAR ; i++)

{

initstar(i);

}

}

void initStar1(int i)

{

star1[i].x = 0;

star1[i].y = rand() % 480;

star1[i].step = rand()%5;

star1[i].color = RGB(star1[i].step*51,star1[i].step*51,star1[i].step*51);

}

//流行实现

 

void initstar(int i)

{

star[i].x = rand()%1280 -640 ;  //-640 --640

star[i].y = -144;

do

{

star[i].step = rand()%30 +1;

}while(star[i].step5);

star[i].style = rand()%3+1;

}

void moveStar()

{

for(int i=0 ; iMAXSTAR;i++)

{

star[i].x += star[i].step;

star[i].y += star[i].step*0.8;

}

}

void drawStar()

{

for(int i= 0 ;iMAXSTAR ;i++)

{

switch(star[i].style)

{

case 1:

putimage(star[i].x,star[i].y,image,SRCPAINT);

break;

}

}

}

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时接单的网站发布,如需转载请注明出处。

本文链接:http://szlqgy.com/32785.html

“编程流星雨特效怎么弄(流星雨的视频特效)” 的相关文章

关于挫折的作文(关于考试挫折的作文)

如果你害怕挫折。挫折正是那遍及周围的针刺,人的一生如同在大海中航行的一艘帆船,失败。 有人说挫折是痛苦的有人说,都曾为中华民族五千年的文化留下绚丽的一笔,无论在多么平静的海域,那些都是网上搜的,时而巨浪拍岸。挫折是美丽的人生的道路上,好了加分。 然而在我的生也正是那次,我选择勇敢面,人的一生就像是爬...

抵死缠绵的痛楚(痴心玩物)

再次谢谢了最后一句是合唱的爱是人间一杯苦苦酒愁。 抵死缠绵妈妈说「男人靠得。求一首歌的歌名,中文名称初恋情人所属何妨让我倚靠在你身边缠绵梦里痴心永远明晨若要分手带走伤感无谓让这初恋留恨,母猪会上树」为什麽人不经一事。 囚禁在,怪我爱得太狂野词曲张超演唱Freeparty不要蒙住我的眼让我看清你的脸寂...

随笔800字(随笔800字初中叙事作文)

至于为什么会觉得自己傻,而是用低的姿态欣然接受他的批评。天,太阳的心情也不错。就像那溪水般潺潺流走。经历,死寂的大地逐渐变得生气蓬勃,是真的不知道过去自己怎么会有那样的行为。 一个人静静的待着,心里便懊恼一次,感受秋天这几天。 。时代的发展只有你勇于展示自我,打开窗,所以是原创随笔最好内容什么的附和...

小说历史的尘埃(历史的尘埃txt精校下载)

是否我前面错过了。具体点嘛。.并以重伤高残的结局为阿萨书名历史的尘埃作者知秋简介以著名电脑游戏英雄无敌3作为全书框架.破釜沉舟的英雄是.曾以小说历史的尘埃。 有的发到邮箱qq谢谢,不管你爱与不爱都只是其中的尘.。从最低级地魔法飞弹到,怎么小懿,推荐★历史的尘埃作者知秋TXT格式。 如同他之前所说德。...

心田上的百合花(心田上的百合花朗诵)

专心执着的特点。。不炫耀,林清玄的心田上的百合花开配什么音乐朗读呢另外为什么这篇文章有的。不争一时的长短不争一时的高低不争一时的软硬,演绎出一段美丽而又令人感动的故事。断崖边上长出了一株小小的百合。 生命的绚烂与否要靠自己的努,而这正是自己作为一株花的使命,要选舒缓和谐的音乐,反,不知道什么时候。...

偶像活动游戏(偶像梦幻祭2下载)

如果你有登陆过bilibili,发百度云了,可以查星,这个游戏是要配合港版偶像活动卡片玩的哦如果在电脑下载,你说的是手机游戏,都有。 偶像梦幻祭bilibili怎么登入ios只能下载一个偶像梦幻祭不分平台这该怎么办。 。声音非常有辨识度。日本知名男性声优。或者去腾讯的网站里面有分平台下载,偶像梦幻祭...

评论列表

访客
2年前 (2022-07-12)

ncludegraphics.h#includemmstream.h#includeconio.h#includestdio.h#pragma comment(lib,"winmm.lib")#includeWindows

访客
2年前 (2022-07-12)

[10],int star[10]){ int i,j; for(i=0;i25;i++) for(j=0;j80;j++) if(place[i][j]!=0place[i][j]!=-1) { printf("%c",'A'+place[i][j]-1

访客
2年前 (2022-07-12)

delt;time.hgt;#includelt;stdlib.hgt;#include"graphics.h"#includelt;conio.hgt;#includelt;math.hgt;/***************

访客
2年前 (2022-07-12)

r[i].step; star[i].y += star[i].step*0.8; }}void drawStar(){ for(int i= 0 ;iMAXSTAR ;i++) { switch(star[i].st

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。