January 26, 2021, 06:00:07 AM

Author Topic: [bb] PlasmaText by kRUZe [ 1+ years ago ]  (Read 528 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] PlasmaText by kRUZe [ 1+ years ago ]
« on: June 29, 2017, 12:28:38 AM »
Title : PlasmaText
Author : kRUZe
Posted : 1+ years ago

Description : I think the title sez it all  =)

Code :
Code: BlitzBasic
  1. ;------------------------------------------------------------------------
  2. ;       Set up screen resolution and define variables
  3. ;------------------------------------------------------------------------
  4. Graphics 320,240,0,1
  5.  
  6. font=LoadFont("verdana",18,1,0,0)
  7. SetFont font
  8.  
  9. Global plaswidth=127
  10. Global plasheight=63
  11.  
  12. Global buffer = CreateImage(plaswidth+3,plasheight+2)   ; extra buffer space to account for x,y pixel averaging -1 +1
  13.  
  14. Global fntheight=12
  15. Global txtx=(plaswidth+1)/2
  16. Global txty=plasheight-fntheight
  17.  
  18. Dim txt$(128)   ; Define max text array
  19. Global t=1
  20.  
  21. timer=0
  22. d_lay=18
  23.  
  24. Dim r(4)
  25. Dim g(4)
  26. Dim b(4)
  27.  
  28. ;------------------------------------------------------------------------
  29. ;       Main Loop
  30. ;------------------------------------------------------------------------
  31.  
  32. SetBuffer BackBuffer()
  33. SeedRnd MilliSecs()
  34.  
  35. definetxt()
  36.  
  37. While Not KeyDown(1)
  38.         Cls
  39.         SetBuffer ImageBuffer(buffer)
  40.         timer=timer+1
  41.         If timer=d_lay
  42.                 BlitText()
  43.                 timer=0
  44.         EndIf
  45.         UpdatePlasma()
  46.         SetBuffer BackBuffer()
  47.         DrawImage buffer,96,96
  48.         Flip
  49. Wend
  50. End
  51.  
  52. ;------------------------------------------------------------------------
  53. ;       Update Plasma + Draw
  54. ;------------------------------------------------------------------------
  55. Function UpdatePlasma()
  56.                 LockBuffer ImageBuffer(buffer)
  57.                
  58.                 For y=0 To plasheight
  59.                         For x=0 To plaswidth
  60.  
  61.                                 col=ReadPixelFast(x,y, ImageBuffer(buffer)) And $ffffff
  62.                                 r(1) = (col Shr 16) And $FF
  63.                                 g(1) = (col Shr 8) And $FF
  64.                                 b(1) = col And $FF
  65.                        
  66.                                 col=ReadPixelFast(x-1,y+1, ImageBuffer(buffer)) And $ffffff    
  67.                                 r(2) = (col Shr 16) And $FF
  68.                                 g(2) = (col Shr 8) And $FF
  69.                                 b(2) = col And $FF
  70.                        
  71.                                 col=ReadPixelFast(x+1,y+1, ImageBuffer(buffer)) And $ffffff    
  72.                                 r(3) = (col Shr 16) And $FF
  73.                                 g(3) = (col Shr 8) And $FF
  74.                                 b(3) = col And $FF
  75.                        
  76.                                 tmp_red = ((r(1)+r(2)+r(3))/3)
  77.                                 tmp_grn = ((g(1)+g(2)+g(3))/3)
  78.                                 tmp_blu = ((b(1)+b(2)+b(3))/3)
  79.                                
  80.                                 If tmp_red<0 Then tmp_red=0
  81.                                 If tmp_grn<0 Then tmp_grn=0
  82.                                 If tmp_blu<0 Then tmp_blu=0
  83.                                                
  84.                                 argb = (tmp_blu Or (tmp_grn Shl 8) Or (tmp_red Shl 16) Or (255 Shl 24))
  85.                                
  86.                                 WritePixelFast x,y,argb, ImageBuffer(buffer)
  87.                                
  88.                         Next
  89.                 Next
  90.                 UnlockBuffer ImageBuffer(buffer)
  91.  
  92. End Function
  93.  
  94. ;---------------------------------------------------------------------------------------------------
  95. Function BlitText()
  96.        
  97.         Color 0,255,0  
  98.                 Text txtx,txty,txt$(t),True,True
  99.        
  100.                 t=t+1
  101.         If t>8 Then t=1
  102.        
  103. End Function
  104.  
  105. ;---------------------------------------------------------------------------------------------------
  106. Function definetxt()
  107.         txt$(1)=""
  108.         txt$(2)="Plasma Text"
  109.         txt$(3)="Coded"
  110.         txt$(4)="By"
  111.         txt$(5)="Zerosynapse"
  112.         txt$(6)="<end>"
  113.         txt$(7)=""
  114.         txt$(8)=""
  115. End Function


Comments :


Subirenihil(Posted 1+ years ago)

 Interesting...


puki(Posted 1+ years ago)

 Oooh.The text colour should be blue though - sort of ice-blue LED colour.


 

SimplePortal 2.3.6 © 2008-2014, SimplePortal