3DText

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
User avatar
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

3DText

Post by Sami345 » Fri Aug 31, 2007 9:08 pm

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
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: 3DText

Post by Koodiapina » Sun Sep 02, 2007 6:06 pm

Hieno efekti, joka antaa lisäpotkua otsikoihin.
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

User avatar
Purple
Newcomer
Posts: 7
Joined: Thu Oct 25, 2007 1:01 pm
Location: Vaasa
Contact:

Re: 3DText

Post by Purple » Thu Oct 25, 2007 10:02 pm

Hieno efekti, joka antaa lisäpotkua otsikoihin.
Oon samaa mieltä :D
Työn alla :
- Yewi » Rpg peli. Valmis 2% ( Tuleekohan koskaan valmiiksi? :/ )
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Purple

User avatar
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: 3DText

Post by tuhoojabotti » Sun Oct 28, 2007 10:11 pm

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 
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: 3DText

Post by Jani » Mon Nov 24, 2008 10:16 pm

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ä
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: 3DText

Post by Sami345 » Sat Nov 29, 2008 11:00 pm

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.
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: 3DText

Post by Jani » Sun Nov 30, 2008 12:33 pm

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 :?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: 3DText

Post by Ruuttu » Mon Dec 01, 2008 9:37 pm

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.

User avatar
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 5:53 pm

Re: 3DText

Post by Jani » Wed Dec 03, 2008 6:47 am

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...
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition

User avatar
Ruuttu
Devoted Member
Posts: 687
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: 3DText

Post by Ruuttu » Wed Dec 03, 2008 5:29 pm

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.

Post Reply