Okay, enough about maturaty and back to text programs. Look what you can do with text...
sync on
hide mouse
set text font "Comic Sans MS"
set text size 20
do
cls rgb(255,255,255)
`example of the effect1 function
effect1(0,0,"effect1",rgb(255,255,0),rgb(255,0,0))
effect1(120,20,"effect1",rgb(0,255,0),rgb(0,0,255))
`example of the effect3 function ( + reverse$ function)
textcolors(60,40,"textcolors")
textcolors(500,450,reverse$("textcolors"))
`example of the effect2 function
effect2(450,20,"effect2",0,rgb(255,0,0))
effect2(400,150,"effect2",rgb(255,255,0),rgb(0,255,0))
`example of the shadow function
shadow(2,20,"shadow",rgb(0,0,255))
`example of the circtext function
ink rgb(0,0,0),0
inc start,5 : if start>359 then start = 0
circtext(320,240,"circtext",25,start)
`example of the curvetext function
curvetext(320,320,"curvetext",25,15,start)
text 20,450,"normal"
sync
loop
`*******************************
`Text function by Sven Boulanger
`*******************************
`********************** return ************************
function mid2$(text$,start)
return$ = ""
for x = start to len(text$)
return$ = return$ + mid$(text$, x)
next x
endfunction return$
function mid3$(text$,start,length)
return$ = ""
if (start + length - 1) <= len(text$)
for count = start to start+length - 1
return$ = return$ + mid$(text$, count)
next count
endif
endfunction return$
function reverse$(text$)
return$ = ""
for x = len(text$) to 1 step -1
return$ = return$ + mid$(text$, x)
next x
endfunction return$
function Cap(text$)
return$ = upper$( mid$(text$,1) ) + mid3$(text$, 2, len(text$)-1)
endfunction return$
`********************** colors ********************
function effect1(x,y,text$,color1,color2)
redf = rgbr(color2) - rgbr(color1)
greenf = rgbg(color2) - rgbg(color1)
bluef = rgbb(color2) - rgbb(color1)
for i = 1 to len(text$)
red = rgbr(color1) + (redf / len(text$) * i)
green = rgbg(color1) + (greenf / len(text$) * i)
blue = rgbb(color1) + (bluef / len(text$) * i)
ink rgb(red, green, blue),0
text x + text width( mid3$(text$,1,i-1) ), y, mid$(text$, i)
next i
endfunction
function shadow(x,y,text$,color)
ink rgb(5,5,5),0
text x-1,y+1,text$
ink color,0
text x,y,text$
endfunction
function effect2(x,y,text$,color1,color2)
ink color2,0
text x-1,y-1,text$ : text x-1,y,text$
text x+1,y+1,text$ : text x+1,y,text$
text x,y-1,text$ : text x,y+1,text$
ink color1,0
text x,y,text$
endfunction
`************************ Active text ***********************
function textcolors(x,y,text$)
tx = text width(text$)
for i = 1 to len(text$)
repeat
color = rgb(rnd(1) * 255, rnd(1) * 255, rnd(1) * 255)
until color <> 0
ink color,0
text x + text width( mid3$(text$,1,i-1) ), y, mid$(text$, i)
next i
endfunction
function circtext(x,y,text$,radius,start)
for i = 1 to len(text$)
tx = cos((360 / len(text$) * (i - 1)) - 90 + start) * radius
ty = sin((360 / len(text$) * (i - 1)) - 90 + start) * radius
text x + tx, y + ty, mid$(text$,i)
next i
endfunction
function curvetext(x,y,text$,m,q,start)
for i = 1 to len(text$)
ty = sin((m * i) - 90 + start) * q
text x + text width( mid3$(text$,1,i-1) ), y + ty, mid$(text$,i)
next i
endfunction
Immunity and Annihalation makes Immunihalation...