Page 1 of 1

3DText

Posted: Fri Aug 31, 2007 9:08 pm
by Sami345
Pelastin tämän esimerkkini vanhoilta foorumeilta. Tällä funktiolla voi tulostaa isometristä tekstiä.

Tässä funktio ja esimerkki:

Code: Select all

font = LoadFont("arial",80)
SetFont font
Color cbblue
Repeat
   Text3D(0,0,"Hei",10)
   DrawScreen
Forever

Function Text3D(x,y,teksti$,korkeus)
   r = getRGB(RED)
   g = getRGB(GREEN)
   b = getRGB(BLUE)
   For i = 1 To korkeus
       Color Max(r-i*5,0),Max(g-i*5,0),Max(b-i*5,0)
       Text x+i,y+i,teksti
       Text x+i+1,y+i,teksti
       Text x+i+2,y+i,teksti
   Next i
   Color r,g,b
EndFunction

Re: 3DText

Posted: Sun Sep 02, 2007 6:06 pm
by Koodiapina
Hieno efekti, joka antaa lisäpotkua otsikoihin.

Re: 3DText

Posted: Thu Oct 25, 2007 10:02 pm
by Purple
Hieno efekti, joka antaa lisäpotkua otsikoihin.
Oon samaa mieltä :D

Re: 3DText

Posted: Sun Oct 28, 2007 9:11 pm
by tuhoojabotti
tässä mun aikaisemmin tekemä (r,g,b antaa oudon lisäyksen XD)

Code: Select all

SCREEN 900,225
ClsColor cbblack
font=LoadFont("arial",150)
Repeat
fadetext3D(10,10,"This is living!",10,20,30,font,0)
DrawScreen 
Forever 

Function fadetext3D(_x,_y,_txt$,_r,_g,_b,_fontname,reversion)
SetFont _fontname
If reversion=0 Then 
For z=255 To 0 Step -1
Color z+_r,z+_g,z+_b
Text _x+z/20,_y+z/20,_txt
Next z
Else 
For z=0 To 255 Step 1
Color z+_r,z+_g,z+_b
Text _x+z/20,_y+z/20,_txt
Next z
EndIf 
EndFunction 

Re: 3DText

Posted: Mon Nov 24, 2008 9:16 pm
by Jani
Tässä vielä vähän hienompi ja varmasti helpompi! (anteeksi nostosta)

Code: Select all

SCREEN 500,300

Repeat

    teksti$=Input("Teksti: ")
    DrawScreen
Until KeyHit(28)

CloseInput
ClearKeys

SCREEN 1200,400

l$=teksti$

x=50 : y=50

r=0
b=164
g=255

font=LoadFont("arial",50)
SetFont font

For i=1 To 20

    Color r,b,g
    Text x,y,""+l$
    Wait 50
    x+2 : y+2 //Teksti alaspäin + arvot ja ylös - arvot
    r-0 : b-5 : g-10
    DrawScreen OFF
Next i

DrawScreen OFF

WaitKey
EDIT: noh.. hienompi ja hienompi... riippuu mielipeteestä

Re: 3DText

Posted: Sat Nov 29, 2008 10:00 pm
by Sami345
Jani wrote:Tässä vielä vähän hienompi ja varmasti helpompi! (anteeksi nostosta)

Code: Select all

koodii...
EDIT: noh.. hienompi ja hienompi... riippuu mielipeteestä
Tuo on hieman toimimaton. Laitoin aloitusväriksi punaisen ja lopusta tuli keltainen. Ja millä perusteella tuo olisi helpompi? On paljon helpompi kutsua funktiota, kuin alkaa laittaa koodin keskelle tuollaisia.

Re: 3DText

Posted: Sun Nov 30, 2008 11:33 am
by Jani
Sami345 wrote:
Jani wrote:Tässä vielä vähän hienompi ja varmasti helpompi! (anteeksi nostosta)

Code: Select all

koodii...
EDIT: noh.. hienompi ja hienompi... riippuu mielipeteestä
Tuo on hieman toimimaton. Laitoin aloitusväriksi punaisen ja lopusta tuli keltainen. Ja millä perusteella tuo olisi helpompi? On paljon helpompi kutsua funktiota, kuin alkaa laittaa koodin keskelle tuollaisia.
onhan se pelin keskellä helpompaa mutta ajattelin pikemminkin että ei ole muuta ;) eihän tuo ohjelmaan sovi :?

Re: 3DText

Posted: Mon Dec 01, 2008 8:37 pm
by Ruuttu
Näistä 3D -efekteistä tulisi aina paljon hienompia, jos ihmiset hoksais laittaa päällimmäisen tekstikerroksen hieman vaaleammaksi kuin alemmat (tai toisinpäin, alemmat tummemmiksi). Silloin efekti on paljon selkeämpi ja myös hienompi, IMO.

Re: 3DText

Posted: Wed Dec 03, 2008 5:47 am
by Jani
Ruuttu wrote:Näistä 3D -efekteistä tulisi aina paljon hienompia, jos ihmiset hoksais laittaa päällimmäisen tekstikerroksen hieman vaaleammaksi kuin alemmat (tai toisinpäin, alemmat tummemmiksi). Silloin efekti on paljon selkeämpi ja myös hienompi, IMO.
Noissahan on eri värit...

Re: 3DText

Posted: Wed Dec 03, 2008 4:29 pm
by Ruuttu
Jani wrote:
Ruuttu wrote:3D -efekteissä päälimmäisen kerroksen pitäisi olla alempia huomattavasti kirkkaampi selkeyden vuoksi.
Noissahan on eri värit...
Oikeastaan tarkoitin tällaista:

Code: Select all

    font = LoadFont("arial",80)
    SetFont font
    Color cbblue
    Repeat
       Text3D(0,0,"Hei",10)
       DrawScreen
    Forever

    Function Text3D(x,y,teksti$,korkeus)
       r = getRGB(RED)
       g = getRGB(GREEN)
       b = getRGB(BLUE)
       For i = 1 To korkeus
           Color Max(r-i*5,0),Max(g-i*5,0),Max(b-i*5,0)
           If i = korkeus Then Color Max(r-i*3,0),Max(g-i*3,0),Max(b-i*3,0)
           Text x+i,y+i,teksti
           Text x+i+1,y+i,teksti
           Text x+i+2,y+i,teksti
       Next i
       Color r,g,b
    EndFunction
Kuten toivottavasti huomaat, tekstistä on huomattavasti helpompi saada selvää kuin alkuperäisessä esimerkissä. En siis tarkoittanut että kerrosten pitäisi olla erivärisiä, ("Noissahan on eri värit" - niin, tiedän) vaan että ylimmän kerroksen pitäisi olla ENEMMÄN erivärinen kuin alemmat kerrokset ovat.