Miten saan tekstin välkkymään?
Miten saan tekstin välkkymään?
Olen vielä aikalailla pihalla coolbasicin käytöstä ja koodauksesta yleensäkin ja olisin erittäin kiitollinen jos voisitte neuvoa miten saan seuraavanlaisessa koodipätkässä olevan tekstin vilkkumaan, eli siis kirkastumaan ja himmenemään tiuhaan tahtiin, no tiedätte varmaan mitä ajan takaa
Eli tuo kohta jossa lukee "valitse vaihtoehto painamalla bla bla bla" pitäisi saada vilkkumaan.
Jos joku voisi tehdä koodiin tarvittavan muokkauksen että se rupeaisi toimimaan olisin erittäin
kiitollinen ja samalla oppisinkin jotain. Kiitos jo etukäteen.
Koodinpätkä olisi tämä:
Repeat
DrawImage karhunkuva,450,25
PlaySound karhu,50
CenterText 550,300,"Tekstiä"
CenterText 550,340,"Tekstiä"
CenterText 550,380,"Tekstiä"
Color cbred
CenterText 550,460,"Valitse vaihtoehto painamalla numeroa 1,2 tai 3"
Color cbwhite
Text 350,540,"1. Juokse karkuun itkien kuin pieni neiti"
Text 350,580,"2. Kaadu maahan ja makaa siinä hiljaa rukoillen"
Text 350,620,"3. Kiipeä puuhun ja huutele karhulle törkeyksiä sieltäkäsin"
DrawScreen
WaitKey
Until KeyDown(CbKey3) Or KeyDown(CbKey1) Or KeyDown(CbKey2)
If KeyDown(CbKey3) Then Goto puussa
If KeyDown(CbKey2) Then Goto maassa
If KeyDown(CbKey1) Then Goto juokse
Eli tuo kohta jossa lukee "valitse vaihtoehto painamalla bla bla bla" pitäisi saada vilkkumaan.
Jos joku voisi tehdä koodiin tarvittavan muokkauksen että se rupeaisi toimimaan olisin erittäin
kiitollinen ja samalla oppisinkin jotain. Kiitos jo etukäteen.
Koodinpätkä olisi tämä:
Repeat
DrawImage karhunkuva,450,25
PlaySound karhu,50
CenterText 550,300,"Tekstiä"
CenterText 550,340,"Tekstiä"
CenterText 550,380,"Tekstiä"
Color cbred
CenterText 550,460,"Valitse vaihtoehto painamalla numeroa 1,2 tai 3"
Color cbwhite
Text 350,540,"1. Juokse karkuun itkien kuin pieni neiti"
Text 350,580,"2. Kaadu maahan ja makaa siinä hiljaa rukoillen"
Text 350,620,"3. Kiipeä puuhun ja huutele karhulle törkeyksiä sieltäkäsin"
DrawScreen
WaitKey
Until KeyDown(CbKey3) Or KeyDown(CbKey1) Or KeyDown(CbKey2)
If KeyDown(CbKey3) Then Goto puussa
If KeyDown(CbKey2) Then Goto maassa
If KeyDown(CbKey1) Then Goto juokse
Re: Miten saan tekstin välkkymään?
Tässä olisi tälläinen mun tekemä shinetext functio.
Se ei ole varmaan mikään paras vaihtoehto, mutta toimiva.
Se ei ole varmaan mikään paras vaihtoehto, mutta toimiva.
Code: Select all
Global päällä
Global aika
Repeat
''' teksti, x, y, aika, R1,G1, B1,R2,G2,B2
Shinetxt("Vilkkuu!!",10,10,1000,234,210,50,40,200,90)
''' R1,G1,B1 = Väri, jos ei ole päällä.
''' R2,G2,B2 = Väri, jos on päällä.
DrawScreen
Forever
Function Shinetxt(Txt$, X, Y, kesto, R1, G1, B1, R2, G2, B2)
If päällä = 1
Color R2, G2, B2
Text X, Y, Txt$
ElseIf päällä = 0
Color R1, G1, B1
Text X, Y, Txt$
EndIf
If Timer()> Aika + kesto Then
If päällä = 0
päällä = 1
Else
päällä = 0
EndIf
Aika = Timer()
EndIf
Return 0
EndFunction
Black city peleistä parhain
Re: Miten saan tekstin välkkymään?
Ei tuossa mitään muuta vikaa näyttänyt olevan, paitsi nimi; itse olisin nimennyt funktion FlashTextiksi, koska sehän ei kiillä, vaan välkkyy.11v wrote:Tässä olisi tälläinen mun tekemä shinetext functio.
Se ei ole varmaan mikään paras vaihtoehto, mutta toimiva.
Re: Miten saan tekstin välkkymään?
Tämä versio muuttaa väriä hiljalleen. Käytössä on kosini, koska se saa aina arvon väliltä -1 ja 1. Väri = 127.5 + 127.5x jossa x on arvo -1.0 - 1.0. Näin siis käydään läpi arvot 0 - 255.
Eri värisävyjä saadaksesi joudut muuttamaan koodia. Esim. punaisen värin saa näin: Color 127.5 + väri, 0, 0
Edit. ja miksi annoin esimerkin, enkä suoraa vastausta? Opit parhaiten koodaamaan tekemällä sen itse. Jos onnistut liittämään tämän koodin omaan koodiisi toimivasti, saatat ehkä oppiakin jotain prosessissa. En suosittele copy-pastea.
Eri värisävyjä saadaksesi joudut muuttamaan koodia. Esim. punaisen värin saa näin: Color 127.5 + väri, 0, 0
Code: Select all
Const skaala = 127.5
Const nopeus = 3
Repeat
i + nopeus
väri# = Cos( i ) * skaala
Color skaala + väri, skaala + väri, skaala + väri
Text 20, 20, "Hello World"
DrawScreen
Forever
Re: Miten saan tekstin välkkymään?
Ai... Huono englanti, olen lukenut vasta 2 vuotta . Yleensä käännän tekstin googlen kääntö ohjelmalla.Chaosworm wrote:Ei tuossa mitään muuta vikaa näyttänyt olevan, paitsi nimi; itse olisin nimennyt funktion FlashTextiksi, koska sehän ei kiillä, vaan välkkyy.11v wrote:Tässä olisi tälläinen mun tekemä shinetext functio.
Se ei ole varmaan mikään paras vaihtoehto, mutta toimiva.
Black city peleistä parhain
Re: Miten saan tekstin välkkymään?
Kikkailin noiden koodien kanssa mutta en saa kokonaisuutta toimimaan. Olen vaan niin noob vielä tässä.
Re: Miten saan tekstin välkkymään?
En tiedä toimiiko, en testannut.
Ohjelman alkuun
Se sun kohta, jossa sijaitsee nyt Flashtxt function komento.
Ohjelman loppuun
Ohjelman alkuun
Code: Select all
Global päällä
Global aika
Code: Select all
Repeat
DrawImage karhunkuva,450,25
PlaySound karhu,50
CenterText 550,300,"Tekstiä"
CenterText 550,340,"Tekstiä"
CenterText 550,380,"Tekstiä"
Color cbred
''' teksti, x, y, aika, R1, G1, B1, R2, G2,B2
Flashtxt("Valitse vaihtoehto painamalla numeroa 1,2 tai 3",550,460,1000,234,210,50,40,200,90)
''' R1,G1,B1 = Väri, jos ei ole päällä.
''' R2,G2,B2 = Väri, jos on päällä.
Color cbwhite
Text 350,540,"1. Juokse karkuun itkien kuin pieni neiti"
Text 350,580,"2. Kaadu maahan ja makaa siinä hiljaa rukoillen"
Text 350,620,"3. Kiipeä puuhun ja huutele karhulle törkeyksiä sieltäkäsin"
DrawScreen
Until KeyDown(CbKey3) Or KeyDown(CbKey1) Or KeyDown(CbKey2)
If KeyDown(CbKey3) Then Goto puussa
If KeyDown(CbKey2) Then Goto maassa
If KeyDown(CbKey1) Then Goto juokse
Code: Select all
Function Flashtxt(Txt$, X, Y, kesto, R1, G1, B1, R2, G2, B2)
If päällä = 1
Color R2, G2, B2
centerText X, Y, Txt$
ElseIf päällä = 0
Color R1, G1, B1
centerText X, Y, Txt$
EndIf
If Timer()> Aika + kesto Then
If päällä = 0
päällä = 1
Else
päällä = 0
EndIf
Aika = Timer()
EndIf
Return 0
EndFunction
Black city peleistä parhain
Re: Miten saan tekstin välkkymään?
Hyvin mielenkiintoista. Tuo toimii tuossa yhdessä kohdassa mutta jos koitan lisätä vilkkuvaa tekstiä muihin kohtiin ohjelmassa tuolla keskimmäisellä lisäämälläsi koodilla, värit lakkaa toimimasta ja musiikki sekoaa.
Re: Miten saan tekstin välkkymään?
Oho, niin muuten käykin En tiedä miksi. Hyvin jännää, erittäin jännää.
Black city peleistä parhain
Re: Miten saan tekstin välkkymään?
Johtunee siitä, että funktiossa käytetään globaaleja muuttujia, jotka sekoittuvat kun funktiota käytetään useamman kerran samaan aikaan.
Tein itse oman välkkyfunktion. Tämä säätää vain itse piirtovärin, eli tekstin joudut kirjoittamaan erikseen. Globaaleita muuttujia ei ole; tarvittavat muuttujat syötetään parametreina.
Parametri _aväli kertoo vilkkumistiheyden: jos arvo on sama kuin fps, tiheys on kerran sekunnissa. Puolet fps:ästä on kaksi kertaa sekunnissa jne.
Tein itse oman välkkyfunktion. Tämä säätää vain itse piirtovärin, eli tekstin joudut kirjoittamaan erikseen. Globaaleita muuttujia ei ole; tarvittavat muuttujat syötetään parametreina.
Parametri _aväli kertoo vilkkumistiheyden: jos arvo on sama kuin fps, tiheys on kerran sekunnissa. Puolet fps:ästä on kaksi kertaa sekunnissa jne.
Code: Select all
Repeat
aika = Blink( aika, 60, 255 )
Text 20, 20, "Jee"
aika2 = Blink( aika2, 30, 0, 255 )
Text 20, 40, "Jotain muuta"
aika3 = Blink( aika3, 30, 255, 0, 255, 0, 255, 255 )
Text 20, 60, "lisää värejä! \o/"
DrawScreen
Forever
Function Blink( _aika, _aväli = 60, _r As Byte = 0, _g As Byte = 0, _b As Byte = 0, _r2 As Byte = 0, _g2 As Byte = 0, _b2 As Byte = 0 )
_aika + 1
If _aika Mod _aväli > _aväli / 2 Then
Color _r, _g, _b
Else
Color _r2, _g2, _b2
EndIf
Return _aika
EndFunction
Re: Miten saan tekstin välkkymään?
Tässä pari viritystä
Code: Select all
Repeat
Color 255, 255, 255
If Timer() / 500 Mod 2 Then Text 10, 10, "Vilkkuu"
c = Sin(Timer() / 2) * 127 + 127
Color c, c, c
Text 10, 50, "Himmenee ja kirkastuu"
DrawScreen
Forever