Code archives/Graphics/Matrix Effect
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
The effect as seen in the Matrix triology | |||||
Type letter Field i Field n Field x#,y# Field ys# End Type Graphics 800,600,16,1 Dim image(255,3) For n=0 To 3 Color 0,255-n*50,0 For i=0 To 255 image(i,n)=CreateImage(8,8) SetBuffer ImageBuffer(image(i,n)) Text 4,4,Chr(i),1,1 Next Next SetBuffer BackBuffer() For x=0 To 800 Step 16 For y=0 To 600 Step 10 l.letter=New letter l\x=x l\y=y l\i=Rand(0,255) l\n=Rand(0,3) l\ys#=Rnd(4,10) Next Next font=LoadFont("Times new roman",128) SetFont font Repeat Cls Color 0,64+Sin(MilliSecs()/10)*32,0 Text 400,300,"Matrix",1,1 For l.letter=Each letter DrawImage image(l\i,l\n),l\x,l\y l\y#=l\y#+l\ys If l\y>600 Then l\y=-16 Next Flip Until KeyDown(1) End |
Comments
| ||
You should download the "Miltown" font so that when MATRIX flashes up it will be in the same font as the movies. |
| ||
this is an OLD post, isn't it? :) |
| ||
;I'm am kindly submitting an update for your code, Jeppe NielsenType letter Field i Field n Field x#,y# Field ys# End Type Graphics 800,600,16,1 Dim image(255,3) For n=0 To 3 Color 0,255-n*50,0 For i=0 To 255 image(i,n)=CreateImage(12,12) SetBuffer ImageBuffer(image(i,n)) Color 50,Rand(100,210),50 Text 4,4,Rand(0,1),1,1 Next Next SetBuffer BackBuffer() Repeat For y=0 To 600 Step 10 l.letter=New letter l\x=x l\y=y l\i=Rnd(0,255) l\n=Rnd(0,3) l\ys#=Rnd(4.00,10.00) Next x=x + Rand(8,16) Until x >= 800 font=LoadFont("Times new roman",128) SetFont font Repeat Cls Color 0,64+Sin(MilliSecs()/10)*32,0 Text 400,300,"Matrix",1,1 For l.letter=Each letter DrawImage image(l\i,l\n),l\x,l\y l\y#=l\y#+l\ys If l\y>600 Then l\y=-16 Next Flip Until KeyDown(1) End ;sorry I think Numbers look better |
Code Archives Forum