Yes, it can be able to fade the text into transparence.I adapted the snippet in your code :
Rem **********************
Rem * Program input text *
Rem **********************
rem !!! START : important, do not remove !!!
`
`Id=0 : EXPERIMENTAL MULTIPLE keyboarding() : not tested, work in progress
Id=0
DIM EB_chain$(3,Id)
DIM EB_value(1)
clear_keyboarding()
`
rem NEW:ADDING FUNCTION "clear_keyboarding()" IN INITIALIZATION PARAMETERS
rem !!! END : important, do not remove !!!
Hide Mouse : autocam off : sync on
rem The free music found on http://www.last.fm
Load music "music/she - day 1.mp3",1
rem The object made with animator http://Anim8or.com, exproted as 3ds and converted to x file
load object "object/molecuul1.x",1
zobj1#=149.75
correct=1
Name$="Please enter your name : "
set text font "Myriad Pro Cond",1
set text size 32
cls 0
loop music 1
color backdrop 0
Position Camera 0,0,-100
Hide light 0
Make light 1
Set point light 1,-200,200,-500
Point Light 1,0,0,0
set ambient light 0
color ambient light rgb(75,100,75)
fog_Distance=175
fog on
fog color 0
fog distance Fog_Distance
ScrW=Screen Width()
ScrH=Screen Height()
Position Object 1,0,0,zobj1#
minus#=1.502405
For n= 1 to 200 step 1
col=n*1.25
ink rgb(col,col,col),0
Center Text ScrW/2,ScrH/4,Name$ : Rem Ask to enter the name
minus#=minus#-0.0075
Zobj1#=zobj1#-minus#
Position Object 1,0,0,zobj1#
gosub Move_Object
` text 0,0,Str$(zobj1#)
` text 0,20,str$(minus#)
` Text 0,40,str$(n)
` sleep 100
sync
next n
Rem Name Writing Part
do
gosub Move_Object
` text 0,0,Str$(zobj1#)
` text 0,20,str$(minus#)
` Text 0,40,str$(n)
Center Text ScrW/2,ScrH/4,Name$ : Rem Ask to enter the name
center_text=1
keyboarding(ScrW/2,ScrH/2,"",center_text)
if get_control_character()=13 then return_key=1 else return_key=0
if return_key=1
a$=get_text_keyboarding()
exit
endif
sync
loop
while mouseclick()=0
center text ScrW/2,ScrH/2,"Welcom " + a$ + " , Get Ready!"
gosub Move_Object
sync
endwhile
For n= 200 to 1 step -2
col=n*1.25
ink rgb(col,col,col),0
center text ScrW/2,ScrH/2,"Welcom " + a$ + " , Get Ready!"
gosub Move_Object
sync
Next n
For n=1 to 175
Gosub Move_Object
fog distance Fog_Distance-n
sync
next n
Rem here the movement of the molecule so it saves programming time
move_object:
yas#=Wrapvalue(yas#-0.5)
xas#=Wrapvalue(xas#-0.5)
zas#=Wrapvalue(zas#-0.5)
Rotate object 1,xas#,yas#,zas#
return
rem end of the program
End
rem Function ***************************************************************
REMSTART
User functions:
set_keyboarding(Input_String$)
keyboarding(PosX,posY,_text$,center_text)
clear_keyboarding()
`
VALUE = get_control_character()
STRING$ = get_text_keyboarding()
REMEND
FUNCTION set_keyboarding(Input_String$)
rem This function will clear the " keyboarding() " of any existing
rem string and will replace it with the value passed
Id=0
EB_chain$(0,Id)=Input_String$
EB_chain$(1,Id)=Input_String$
FOR i=2 TO 3
EB_chain$(i,Id)=""
NEXT i
EB_value(0)=0 : EB_value(1)=0
ENDFUNCTION
FUNCTION keyboarding(PosX,posY,_text$,center_text)
rem This function simulate the " input " command
rem Set this parameter to 0 if you need control characters
del_control_characters=1
Id=0
display_cursor=1
clear=0
global_time=TIMER()
scan_key=SCANCODE()
IF scan_key
`key pressed?
eb$=ENTRY$()
result=LEN(eb$)>0
IF result
`yes, alphabetic key?
choix=ASC(eb$)
IF choix<32
EB_chain$(3,Id)=STR$(choix)
IF del_control_characters=1 THEN eb$=""
ENDIF
SELECT choix
CASE 8
rem backspace
l_chain=LEN(EB_chain$(1,Id))
stop=(l_chain>0)
EB_chain$(1,Id)=LEFT$(EB_chain$(1,Id),l_chain-stop)
ENDCASE
CASE 13
rem enter : remove cursor
display_cursor=0
ENDCASE
CASE DEFAULT
rem make chain$
EB_chain$(1,Id)=EB_chain$(1,Id)+eb$
ENDCASE
ENDSELECT
rem repeat alphabetic key are automatic with ENTRY() command
CLEAR ENTRY BUFFER
rem l_chain=LEN(EB_chain$(1,Id)) : pos=l_chain `cursor position
ELSE
`no, then left,right,. . .
rem l_chain=LEN(EB_chain$(1,Id)) : pos=l_chain `cursor position
rem repeat 'no alphabetic key'(not automatic with SCANCODE() command)
IF global_time>EB_value(0)
EB_value(0)=global_time+60
EB_value(1)=0
ENDIF
clear=((1-EB_value(1))>0)
scan=scan_key*clear
SELECT scan
CASE 203
rem left
l_chain=LEN(EB_chain$(1,Id))
l_tot=LEN(EB_chain$(0,Id))
stop=(l_chain>0)
EB_chain$(1,Id)=XTRCT(EB_chain$(0,Id),0,l_chain-stop)
EB_chain$(2,Id)=XTRCT(EB_chain$(0,Id),l_chain-stop,l_tot)
ENDCASE
CASE 205
rem right
l_chain=LEN(EB_chain$(1,Id))
l_tot=LEN(EB_chain$(0,Id))
stop=(l_chain<l_tot)
EB_chain$(1,Id)=XTRCT(EB_chain$(0,Id),0,l_chain+stop)
EB_chain$(2,Id)=XTRCT(EB_chain$(0,Id),l_chain+stop,l_tot)
ENDCASE
CASE 211
rem delete
l_chain=LEN(EB_chain$(1,Id))
l_tot=LEN(EB_chain$(0,Id))
stop=(l_chain<l_tot)
EB_chain$(2,Id)=XTRCT(EB_chain$(0,Id),l_chain+stop,l_tot)
ENDCASE
CASE 199
rem home
EB_chain$(1,Id)= ""
EB_chain$(2,Id)= EB_chain$(0,Id)
ENDCASE
CASE 207
rem end
EB_chain$(1,Id)= EB_chain$(0,Id)
EB_chain$(2,Id)= ""
ENDCASE
CASE DEFAULT
rem
ENDCASE
ENDSELECT
ENDIF
EB_chain$(0,Id)=EB_chain$(1,Id)+EB_chain$(2,Id)
ELSE
`no key pressed, initialize timer
EB_value(0)=global_time+500
ENDIF
rem memorize last state of SCANCODE() key
IF scan_key<>0
EB_value(1)=1
ELSE
EB_value(1)=0
ENDIF
rem display text
cnter=0
IF center_text=1 THEN cnter=TEXT WIDTH(_text$+EB_chain$(0,Id))/2
TEXT PosX-cnter,PosY,_text$+EB_chain$(0,Id)
rem display cursor
IF display_cursor=1
cursor_position=PosX+TEXT WIDTH(_text$+EB_chain$(1,Id))-(TEXT WIDTH("|")/2)
TEXT cursor_position-cnter,PosY,"|"
ENDIF
rem function return length
` return_value=LEN(EB_chain$(0,Id))
ENDFUNCTION
FUNCTION clear_keyboarding()
rem Reset " keyboarding() "
Id=0
FOR i=0 TO 3
EB_chain$(i,Id)=""
NEXT i
EB_value(0)=0 : EB_value(1)=0
ENDFUNCTION
FUNCTION get_control_character()
rem This function returns the ASCII code of the last control character typed
rem ASCII code :
rem
rem tab = 9
rem return or enter = 13
rem escape = 27
Id=0
value=VAL(EB_chain$(3,Id))
ENDFUNCTION value
FUNCTION get_text_keyboarding()
rem This function returns the string typed in the " keyboarding() " function
Id=0
chain_return$=EB_chain$(0,Id)
ENDFUNCTION chain_return$
FUNCTION XTRCT(phrase$,debu,fin)
rem This function extract word from string(only used in " keyboarding() " function)
rem Ex:
rem XTRCT("azertyuiop"0,5) return "azert"
rem XTRCT("azertyuiop"5,10) return "yuiop"
mot$=""
length=LEN(phrase$)
IF debu<1
debu=0
ELSE
IF debu>length THEN debu=length
ENDIF
IF fin>length
fin=length
ELSE
IF fin<1 THEN fin=0
ENDIF
IF fin>debu
mot$=RIGHT$(LEFT$(phrase$,fin),fin-debu)
ELSE
mot$=RIGHT$(LEFT$(phrase$,debu),debu-fin)
ENDIF
ENDFUNCTION mot$
AMD Athlon(tm)XP 3200+ (2.2GHz) / DDR pc3200 (1024Mo) / Nvidia 6800GT (driver 178.24 WHQL)/ XP Pro SP3 / DirectX 9.0c (February 2010)/ DBClassic v1.13 / DBPro v7.4