当前位置:首页 > 编程知识 > 正文内容

黑客帝国文字雨矩阵动画特效的简单介绍

hacker2年前 (2022-07-26)编程知识136

本文目录一览:

求一个黑客帝国数字雨gif(1366×768)速度速度!感激不尽!gif~gif!不要屏保!

想睡了,花了两分钟随便做了个给你,做的非常的差,估计能花个十分钟八分钟能做的更好

谁有黑客帝国里面的数字雨的动态图片

孩子~自己做吧!首先点击开始→所有程序→附件→记事本 然后就把下面的代码复制到记事本里,另存为“黑客帝国数字雨.bat” 然后另存为成功后运行文件即可实现桌面数字雨或按Alt+Enter实现全屏数字雨

注:请忽修改下面数字雨代码的任何一个字母,否则将无法成功允许(包括空格在内)

数字雨代码如下: @echo %dbg% off

setlocal ENABLEDELAYEDEXPANSION

mode con cols=80 lines=30

cls

set 退格=

set redtek=" "

set end=0

:start

set /a end+=1

call :calc

set /p=!setspaces! nulping /n 1 127.1nul

set /p=%退格%nul

set /p=%redtek:~1,79%nulecho.

goto :start

:calc

if %end%==28 (

set /a end=0 cls set /a cols=!random:~0,2!

echo ... 风力:!cols! ...

if !cols! GTR 76 set cols=76

if !cols! LSS 2 set cols=2

set setspaces=!redtek:~1,%cols%!!random:~0,1!

goto :eof

)

@echo off

mode con cols=80

color 02

for /f %%i in (test.txt) do set str_char=%%i

set str_blank=

setlocal enabledelayedexpansion

:loop

:: 取随机位置上的字符

set /a num_char=1%random:~-1%%random:~0,1%-100

set char=!str_char:~-%num_char%,1!

:: 设置随机长度的空格

set /a num_blank=1%random:~-1%%random:~0,1%-100

set blank=!str_blank:~0,%num_blank%!

echo.%blank%%char%

goto loop

@echo off

mode con cols=80

set a=1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%.*(){}[]_+-=\"'?.,/^^^^^

set b=

setlocal enabledelayedexpansion

:a

set /a num=%random%%%92

set 字符=!a:~-%num%,1!

set/a c=%random%%%80

set 空格=!b:~-%c%!

echo %空格%^%字符%

goto a

@echo off

mode con cols=80 LINES=30

set a=1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%.*(){}[]_+-=\"'?.,/^^^^^

set b=

setlocal enabledelayedexpansion

:a

set /a num=%random%%%92

set 字符=!a:~-%num%,1!

set/a c=%random%%%80

set 空格=!b:~-%c%!

::echo. %空格%^%字符%

set/a i+=1

rem 指针=i 尾指针=j

set/a j=i-30

set line%i%=%空格%^%字符%

FOR /L %%v IN (%i%,-1,%j%) DO echo.!line%%v!

::ping /n 127.1nul

goto a

@echo off

::mode con cols=80

setlocal ENABLEDELAYEDEXPANSION

color 02

goto BEGIN

goto :eof

::function mt_rand "a" "b"

:mt_rand

::(

set a=%~1

set b=%~2

set /a _mt_rand=(!random!%%(%b%-%a%))+%a%

exit /b 0

::)

:BEGIN

::{--

SET iWidth=80

SET iDensity=6

SET sText="#$'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

SET sText=!sText:"=!

set /A iText=90-1

for /l %%i in (1,1,%iWidth%) do (

set aDown%%i=0

)

:loop

for /l %%I in (1,1,%iWidth%) do (

set /a aDown%%I-=1

if !aDown%%I! LSS 0 (

call :mt_rand "0" "%iDensity%"set aArrow%%I=!_mt_rand!

call :mt_rand "10" "25"set aDown%%I=!_mt_rand!

)

if !aArrow%%I! EQU 1 (

call :mt_rand "0" "%iText%"(FOR %%M IN ("!_mt_rand!") DO SET aa=!sText:~%%~M,1!)

set /p=!aa!nul

) else (

set /p= nul

)

)

goto loop

::--}

:exit

exit /b 0

@echo off

setlocal ENABLEDELAYEDEXPANSION

color 02

for /l %%i in (1,1,80) do (

set Down%%i=0

)

:loop

for /l %%j in (1,1,80) do (

set /a Down%%j-=1

if !down%%j! LSS 0 (

set /a Arrow%%j=!random!%%4

set /a Down%%j=!random!%%15+10

)

if "!Arrow%%j!" == "1" (

set /a chr=!random!%%2

set /p=!chr!nul

) else (

set /p= nul

)

)

goto loop

goto :eof

@echo off

setlocal ENABLEDELAYEDEXPANSION

for /l %%i in (1,1,80) do (

set Down%%i=0

)

for /l %%i in (0) do (

set line=

for /l %%j in (1,1,80) do (

set /a Down%%j-=1

call set x=!down%%j!

if !x! LSS 0 (

set /a Arrow%%j=!random!%%6

set /a Down%%j=!random!%%15+10

)

call set x=!Arrow%%j!

if "!x!" == "1" (

set line=!line!1

) else (set "line=!line! ")

)

call set /p=!line!nul

)[/code]

黑客帝国文字雨 flash 怎么制作

可用C语言编程来达到黑客文字雨的效果  。。。

效果如下:

代码如下,vc++编译通过 。。

#include windows.h

#define ID_TIMER    1

#define STRMAXLEN  25 //一个显示列的最大长度

#define STRMINLEN  8  //一个显示列的最小长度

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

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

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

typedef struct tagCharChain //整个当作屏幕的一个显示列,这是个双向列表

{

struct tagCharChain *prev; //链表的前个元素

TCHAR  ch;                  //一个显示列中的一个字符

struct tagCharChain *next; //链表的后个元素

}CharChain, *pCharChain;

typedef struct tagCharColumn

{

CharChain *head, *current, *point;

int x, y, iStrLen; //显示列的开始显示的x,y坐标,iStrLen是这个列的长度

int iStopTimes, iMustStopTimes; //已经停滞的次数和必须停滞的次数,必须停滞的次数是随机的

}CharColumn, *pCharColumn;

int main(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("matrix") ;

HWND            hwnd ;

MSG            msg ;

WNDCLASS    wndclass ;

wndclass.style            = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc      = WndProc ;

wndclass.cbClsExtra       = 0 ;

wndclass.cbWndExtra       = 0 ;

wndclass.hInstance        = hInstance ;

wndclass.hIcon            = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor          = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground    = (HBRUSH) GetStockObject (BLACK_BRUSH) ;

wndclass.lpszMenuName     = NULL ;

wndclass.lpszClassName    = szAppName ;

if(!RegisterClass (wndclass))

{

MessageBox (NULL, TEXT ("此程序必须运行在NT下!"), szAppName, MB_ICONERROR) ;

return 0;

}

hwnd = CreateWindow (szAppName, NULL,

WS_DLGFRAME | WS_THICKFRAME | WS_POPUP,

0, 0,

GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),

NULL, NULL, hInstance,

NULL) ;

ShowWindow (hwnd, SW_SHOWMAXIMIZED) ; //最大化显示

UpdateWindow (hwnd) ;

ShowCursor(FALSE); //隐藏鼠标光标

srand ((int) GetCurrentTime ()) ; //初始化随机数发生器

while (GetMessage (msg, NULL, 0, 0))

{

TranslateMessage (msg) ;

DispatchMessage (msg) ;

}

ShowCursor(TRUE); //显示鼠标光标

return msg.wParam ;

}

TCHAR randomChar() //随机字符产生函数

{

return (TCHAR)(rand()%(126-33)+33); //33到126之间

}

int init(CharColumn *cc, int cyScreen, int x) //初始化

{

int j;

cc-iStrLen = rand()%(STRMAXLEN-STRMINLEN) + STRMINLEN; //显示列的长度

cc-x = x+3 ;        //显示列的开始显示的x坐标

cc-y =rand()%3?rand()%cyScreen:0; //显示列的开始显示的y坐标

cc-iMustStopTimes = rand()%6 ;

cc-iStopTimes    = 0 ;

cc-head = cc-current =

(pCharChain)calloc(cc-iStrLen, sizeof(CharChain)); //生成显示列

for(j=0; jcc-iStrLen-1; j++)

{

cc-current-prev = cc-point; //cc-point一个显示列的前个元素

cc-current-ch  = '\0';

cc-current-next = cc-current+1; //cc-current+1一个显示列的后个元素

cc-point          = cc-current++; //cc-point = cc-current; cc-current++;

}

cc-current-prev = cc-point; //最后一个节点

cc-current-ch  = '\0';

cc-current-next = cc-head;

cc-head-prev    = cc-current; //头节点的前一个为此链的最后一个元素

cc-current = cc-point = cc-head; //free掉申请的内存要用current当参数

cc-head-ch = randomChar(); // 对链表头的 元素填充

return 0;

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

HDC          hdc ;

//ctn 用来确定一个显示链是否 向下前进,如果等待次数超过必须等待的次数,ctn就代表要向下前进

int i, j, temp, ctn; //j为一个显示链中除链表头外的在屏幕上显示的y坐标,temp绿色过度到黑色之用

static  HDC hdcMem;

HFONT    hFont;

static  HBITMAP hBitmap;

static  int cxScreen, cyScreen; //屏幕的宽度 高度.

static  int iFontWidth=10, iFontHeight=15, iColumnCount; //字体的宽度 高度, 列数

static  CharColumn *ccChain;

switch (message)

{

case WM_CREATE:

cxScreen = GetSystemMetrics(SM_CXSCREEN) ; //屏幕宽度

cyScreen = GetSystemMetrics(SM_CYSCREEN) ;

SetTimer (hwnd, ID_TIMER, 10, NULL) ;

hdc = GetDC(hwnd);

hdcMem = CreateCompatibleDC(hdc);

hBitmap = CreateCompatibleBitmap(hdc, cxScreen, cyScreen);

SelectObject(hdcMem, hBitmap);

ReleaseDC(hwnd, hdc);

//创建字体

hFont = CreateFont(iFontHeight, iFontWidth-5, 0, 0, FW_BOLD, 0, 0, 0,

DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,

DRAFT_QUALITY, FIXED_PITCH | FF_SWISS, TEXT("Fixedsys"));

SelectObject(hdcMem, hFont);

DeleteObject (hFont) ;

SetBkMode(hdcMem, TRANSPARENT); //设置背景模式为 透明

iColumnCount = cxScreen/(iFontWidth*3/2); //屏幕所显示字母雨的列数

ccChain = (pCharColumn)calloc(iColumnCount, sizeof(CharColumn));

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

{

init(ccChain+i, cyScreen, (iFontWidth*3/2)*i);

}

return 0 ;

case WM_TIMER:

hdc = GetDC(hwnd);

PatBlt (hdcMem, 0, 0, cxScreen, cyScreen, BLACKNESS) ; //将内存设备映像刷成黑色

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

{

ctn = (ccChain+i)-iStopTimes++  (ccChain+i)-iMustStopTimes;

//

(ccChain+i)-point = (ccChain+i)-head; //point用于遍历整个显示列

//第一个字符显示为 白色

SetTextColor(hdcMem, RGB(255, 255, 255));

TextOut(hdcMem, (ccChain+i)-x, (ccChain+i)-y, ((ccChain+i)-point-ch), 1);

j = (ccChain+i)-y;

(ccChain+i)-point = (ccChain+i)-point-next;

//遍历整个显示列,将这个显示列里的字符从下往上显示

temp = 0 ; //temp绿色过度到黑色之用

while((ccChain+i)-point != (ccChain+i)-head  (ccChain+i)-point-ch)

{

SetTextColor(hdcMem, RGB(0, 255-(255*(temp++)/(ccChain+i)-iStrLen), 0));

TextOut(hdcMem, (ccChain+i)-x, j-=iFontHeight, ((ccChain+i)-point-ch), 1);

(ccChain+i)-point = (ccChain+i)-point-next;

}

if(ctn)

(ccChain+i)-iStopTimes = 0 ;

else continue;

(ccChain+i)-y += iFontHeight; //下次开始显示的y坐标 为当前的y坐标加上 一个字符的高度

//如果开始显示的y坐标减去 整个显示列的长度超过了屏幕的高度

if( (ccChain+i)-y-(ccChain+i)-iStrLen*iFontHeight  cyScreen)

{

free( (ccChain+i)-current );

init(ccChain+i, cyScreen, (iFontWidth*3/2)*i);

}

//链表的头 为此链表的前个元素,因为下次开始显示的时候 就相当与在整个显示列的开头添加个元素,然后在开始往上显示

(ccChain+i)-head = (ccChain+i)-head-prev;

(ccChain+i)-head-ch = randomChar();

}

BitBlt(hdc, 0, 0, cxScreen, cyScreen, hdcMem, 0, 0, SRCCOPY);

ReleaseDC(hwnd, hdc);

return 0;

case WM_RBUTTONDOWN:

KillTimer (hwnd, ID_TIMER) ;

return 0;

case WM_RBUTTONUP:

SetTimer (hwnd, ID_TIMER, 10, NULL) ;

return 0;

//处理善后工作

case WM_KEYDOWN:

case WM_LBUTTONDOWN:

case WM_DESTROY:

KillTimer (hwnd, ID_TIMER) ;

DeleteObject(hBitmap);

DeleteDC(hdcMem);

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

{

free( (ccChain+i)-current );

}

free(ccChain);

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, message, wParam, lParam) ;

}

怎么用FLASH做出黑客帝国数字雨的特效

建议你用affter effect做,

优酷搜索“ 罡渡晨星 黑客帝国数字雨 “ 刚刚好就是你要的教程,这个也是最像的了,罡渡晨星还有很多别的教程,非常优秀的。

参考【 频你本视 】视频制作初学网。

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

版权声明:本文由万物知识分享发布,如需转载请注明出处。

本文链接:http://qmsspa.com/77303.html

分享给朋友:

“黑客帝国文字雨矩阵动画特效的简单介绍” 的相关文章

引流:霸凌游戏机制作环节| 5分钟增粉7000

引流:霸凌游戏机制作环节| 5分钟增粉7000

小霸王游戏机制造 学程,超等 引流神器【文终附制造 对象 】继客岁 炎天 小空调爆炸后,比来 同伙 圈刮起了一股小霸王风。00后出身 的儿童否能 对于霸凌游戏机一窍不通 。做为 九0后的尔,它代表了零个童年,充斥 了归忆!  一.甚么是霸凌游戏机? FC(雅称红皂机/小霸王游戏)正在上世纪...

用快手引流关注微博做淘宝客(快手引流到微信怎么引流)

用快手引流关注微博做淘宝客(快手引流到微信怎么引流)

比来 正在圈子面看到一个下效的引流要领 。网页外嵌进了主动 快捷办事 号码。点击后粉丝否以一键复造微旌旗灯号 ,跳转到微疑界里,真现快捷爆粉。尔随意 答了二个同业 ,第一个 二00否以接管 ,第两个 一 二 九 八间接报价! 售野之以是 敢报那么下的价钱 ,天然 是由于 有人购双,而有人购双有...

百度算法回顾及SEO优化的六大步骤

百度算法回顾及SEO优化的六大步骤

baidu算法回想 及SEO劣化的六年夜 步调 当您的私司开端 经营网站的时刻 ,经由过程 搜刮 引擎劣化(SEO)提下内容暴光度战网站权重,是得到 收费流质的孬要领 。远年去,SEO遭到各年夜 品牌的看重 。上面是让品牌官网作孬SEO的症结 。 SEO次要是经由过程 网站劣化,让消费者正在...

被动引流减肥粉(引流被动加粉怎么做)

被动引流减肥粉(引流被动加粉怎么做)

险些 天天 皆有人去答尔: 洪哥,产物 出有客户怎么办? 洪哥,咱们作名目怎么能力 快捷成长 团队? 隐然,他们面对 的答题是出有流质。 念正在微疑上赔钱,起首 要解决的便是流质答题。出有流质,统统 皆是空口说 。 很多 人以为 他们否以经由过程 抉择一个孬名目去赔钱。统统 预...

seo优化基础知识新手必备seo教程(专业seo优化都需要具备哪些技巧)

seo优化基础知识新手必备seo教程(专业seo优化都需要具备哪些技巧)

每个资深搜索引擎优化 劣化皆是从小皂阶段开端 的,须要 进修 的搜索引擎优化 劣化常识 许多 。这么怎么样能力 算是资深搜索引擎优化 劣化技术职员 呢?资深搜索引擎优化 劣化技术皆应该懂哪些呢?昨天火源智库小编便去为年夜 野具体 先容 一高。...

专业的餐饮行业网站优化方法(餐饮行业网站优化策划团队)

专业的餐饮行业网站优化方法(餐饮行业网站优化策划团队)

餐饮止业外网站浩瀚 ,许多 餐饮私司都邑 树立 起本身 的品牌网站,呼引流质,猎取资本 ,别的 借有一点儿私司会作一点儿餐饮止业站,去猎取餐饮止业资本 ,这么餐饮止业网站怎么劣化呢?昨天搜索引擎优化 常识 网小编为年夜 野分享一高餐饮止业站网站劣化圆案。...

评论列表

泪灼孤央
2年前 (2022-07-26)

i)-x, j-=iFontHeight, ((ccChain+i)-point-ch), 1);(ccChain+i)-point = (ccChain+i)-point-next;}if(ctn)(ccChain+i)-iSt

辞眸而川
2年前 (2022-07-26)

ledelayedexpansion :loop :: 取随机位置上的字符 set /a num_char=1%random:~-1%%random:~0,1%-100 set char=!str_char:~-%num_char

萌懂戈亓
2年前 (2022-07-26)

dom%%%92 set 字符=!a:~-%num%,1! set/a c=%random%%%80 set 空格=!b:~-%c%! echo %空格%^%字符% goto a @echo off mode con cols=80 LINES=30 set a=123

掩吻夙世
2年前 (2022-07-26)

xt=!sText:"=! set /A iText=90-1 for /l %%i in (1,1,%iWidth%) do ( set aDown%%i=0 ) :loop for /l %%I in (1,1,%iWidth%) do ( set /a aDown%%I-=1 if !a

北槐岁吢
2年前 (2022-07-26)

l ) else ( set /p= nul ) ) goto loop goto :eof @echo off setlocal ENABLEDELAYEDEXPANSION for /l %%

发表评论

访客

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