Page 1 of 1

Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 6:42 pm
by Akuman
Elikkä en saa Text-komennolla tekstiä näkyviin. Tuossa oisi koko ohjelman koodi:(Näkymättömän tekstin kohdalla nuolia)

Code: Select all

SCREEN 1024,768,16,0

valikko=LoadFont("arial",25,ON,OFF,OFF) 
SetFont valikko

music=LoadSound("sounds\menu.mp3")

pic=LoadImage("images\menu.png")

hiiri=LoadObject("images\hiiri.png")
MaskObject hiiri,255,0,255

PlaySound music

aloitus=0

Repeat

DrawImage pic,0,0

If uusipeli(10,30,"New Game") Then //Uusi peli
DeleteSound music
paikka=1
Cls
Goto Peli
EndIf

If lataapeli(10,60,"Load Game") Then //
DeleteSound music
Cls
Goto Peli
EndIf

If asetukset(10,90,"Settings") Then //Asetukset
ClearText
Goto Asetukset
EndIf

If lopeta2(10,120,"Exit") Then //Lopeta
End
EndIf

ScreenPositionObject hiiri,MouseX(),MouseY()

DrawScreen
Forever

//Uusi peli---------------------------------------------------------

Function uusipeli(reunaX,reunaY,txt$)

clr=1

x = TextWidth(txt$)
y = TextHeight(txt$)
Color 0,0,0

If MouseX()<reunaX+x+6 And MouseX()>reunaX And MouseY()<reunaY+y+6 And MouseY()>reunaY Then
If MouseHit(1) Then paalla=True
If clr=1 Then Color 255,0,0
Else
paalla=False


EndIf

Text reunaX+3,reunaY+3,txt$


Return paalla
End Function

//Lataa peli----------------------------------------------------------

Function lataapeli(reunaX,reunaY,txt$)

clr=1

x = TextWidth(txt$)
y = TextHeight(txt$)
Color 0,0,0

If MouseX()<reunaX+x+6 And MouseX()>reunaX And MouseY()<reunaY+y+6 And MouseY()>reunaY Then
If MouseHit(1) Then paalla=True
If clr=1 Then Color 255,0,0
Else
paalla=False


EndIf

Text reunaX+3,reunaY+3,txt$


Return paalla
End Function

//Asetukset-----------------------------------------------------------

Function asetukset(reunaX,reunaY,txt$)

clr=1

x = TextWidth(txt$)
y = TextHeight(txt$)
Color 0,0,0

If MouseX()<reunaX+x+6 And MouseX()>reunaX And MouseY()<reunaY+y+6 And MouseY()>reunaY Then
If MouseHit(1) Then paalla=True
If clr=1 Then Color 255,0,0
Else
paalla=False


EndIf

Text reunaX+3,reunaY+3,txt$


Return paalla
End Function

//Lopeta--------------------------------------------------------------

Function lopeta2(reunaX,reunaY,txt$)

clr=1

x = TextWidth(txt$)
y = TextHeight(txt$)
Color 0,0,0

If MouseX()<reunaX+x+6 And MouseX()>reunaX And MouseY()<reunaY+y+6 And MouseY()>reunaY Then
If MouseHit(1) Then paalla=True
If clr=1 Then Color 255,0,0
Else
paalla=False


EndIf

Text reunaX+3,reunaY+3,txt$


Return paalla
End Function

//PELI-----------------------------------------------------------------

Peli:

FrameLimit 60

arial=LoadFont("arial")
SetFont arial

If paikka=1 Then
noob_island=LoadMap("maps\noob_island.til","maps\tileset_outdoor1.png")
MaskObject noob_island,255,0,255
EndIf

alalaita=LoadImage("images\toolbar.png")

oikealle=LoadAnimObject("objects\lehmä_oikea.png",30,25,0,2)
ShowObject oikealle,OFF

vasemmalle=LoadAnimObject("objects\lehmä_vasen.png",30,25,0,2)
ShowObject vasemmalle,OFF

hahmo=CloneObject(oikealle)
SetupCollision hahmo,noob_island,1,4,2

PositionObject hahmo,-750,-720

ObjectOrder hiiri,1

CameraFollow hahmo,1,25

progress=0

Repeat

If LeftKey() Then
PaintObject hahmo,vasemmalle
PlayObject hahmo,0,2,0.5,OFF
TranslateObject hahmo,-3,0

ElseIf RightKey() Then
PaintObject hahmo,oikealle
PlayObject hahmo,0,2,0.5,OFF
TranslateObject hahmo,3,0

Else
PlayObject hahmo,0
EndIf

If DownKey() Then
TranslateObject hahmo,0,-3
EndIf

If UpKey() Then
TranslateObject hahmo,0,3
EndIf

ScreenPositionObject hiiri,MouseX(),MouseY()

DrawGame

DrawImage alalaita,0,625
DrawToImage alalaita
Color 255,255,255
Box 5,25,400,110
DrawToScreen

If progress=0 Then
DrawToImage alalaita
Color 0,0,0
Text 7,-27,"Welcome to the world of ************. Before we can let"
Text 7,-37,"you save our world from terrifying lord *********, you"
Text 7,-47,"must complete your training. Use arrow keys to move."
Text 7,-57,"Follow the path to find your next master."
Text 7,-77,"OBJECT: Find your next master."
DrawToScreen
EndIf

DrawScreen
Forever







//ASETUKSET------------------------------------------------------------

Asetukset:

Repeat

DrawScreen
Forever
EDIT: Tekstiongelma ratkaistu, mutta tuo hiiri pitäisi vielä saada alalaidan päälle.

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 7:19 pm
by FuJi
En tuota kauhean tarkasti katsunut, mutta ainakin alkunavigaation napit on toteutettu tosi työläällä tavalla: jokaiselle napille on oma funktio. Eikö tämä sama onnistuisi helpommin näin:

Code: Select all

// Esimerkki funktion käytöstä
If Button(10,10,"Poistu") Then End 

Function Button(x,y,txt$)
    w=TextWidth(txt$)+4
    h=TextHeight(txt$)+4
    If MouseX()>x And MouseY()>y And MouseX()<x+w+4 And MouseY()<y+h+4 Then a=1
    If a Then Color cbBlue Else Color cbWhite
    Box x,y,w+4,h+4
    Color cbLightBlue
    Box x,y,w+4,h+4,0
    Text x+4,y+4, txt$
    If MouseHit(1) Then Return 1
EndFunction

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 7:25 pm
by Akuman
Juu onhan tuo tietysti nopeampi, mutta olen jo opetellut käyttämään tuota tapaa, ja pelkän valikon yhteydessä sen ei pitäisi kuormittaa hitaintakaan konetta, mutta nyt en etsinyt ratkaisua siihen. Onko kellään ideoita. Toinen ongelma on etten saa hiiren mukana liikkuvaa objektia tuon "alalaidan" päälle, menee aina alle..

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 7:34 pm
by FuJi
Akuman wrote:Toinen ongelma on etten saa hiiren mukana liikkuvaa objektia tuon "alalaidan" päälle, menee aina alle..
Se menee sen alle, koska lataat sen alalaidan myöhemmin koodissa eli se tulee päällimäiseksi. Siksi kartatkin täytyy ladata aina koodin alussa, että mikään ei jää sen alle. Eli lataa se alalaita-kuva ennen tuota hiiren objektia.

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 7:44 pm
by Akuman
Eipä auta kun kuva piirreään kuitenkin vielä myöhemmin, lisäksi drawgame tuntuu olevan osallisena siihen ja ilma sitä en saa alalaitaa näkymään kartan päällä.

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 7:44 pm
by koodaaja
Akuman wrote:Juu onhan tuo tietysti nopeampi, mutta olen jo opetellut käyttämään tuota tapaa, ja pelkän valikon yhteydessä sen ei pitäisi kuormittaa hitaintakaan konetta, mutta nyt en etsinyt ratkaisua siihen. Onko kellään ideoita. Toinen ongelma on etten saa hiiren mukana liikkuvaa objektia tuon "alalaidan" päälle, menee aina alle..
ObjectOrder alalaita, -1? EDIT: tjaa, sonkin kuva. Piirrä ennen DrawGamea, sillon se tosin jää kaikkien objektien alle.

Piirrät kuvaan. Joillain koneilla tarvitsee silloin käyttää negatiivista y-komponentia. Eli kaikkien y-arvojen eteen miinus.

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 8:04 pm
by akuman1
Mihin kuvaan???

En jaksanu logata oon gprs yhteydellä..

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 8:09 pm
by koodaaja
akuman1 wrote:Mihin kuvaan???

En jaksanu logata oon gprs yhteydellä..
Öh. Et omaa koodiasi vaivautunut lukemaan? Nyt se copy/paste -namiska vähemmälle käytölle.

Code: Select all

DrawToImage alalaita
Color 0,0,0
Text 7,27,"Welcome to the world of ************. Before we can let"       <--------
Text 7,37,"you save our world from terrifying lord *********, you"          <--------
Text 7,47,"must complete your training. Use arrow keys to move."       <--------
Text 7,57,"Follow the path to find your next master."                           <--------
Text 7,77,"OBJECT: Find your next master."                                        <-------
DrawToScreen
Drawtoimage alalaita. Eli piirretään kuvaan nimeltä alalaita.

(btw. object on esine, objekti, objective taas on tavoite)

Re: Ei saa tekstiä näkyviin

Posted: Sat Oct 06, 2007 8:35 pm
by akuman1
Jaa, paitsi että se oli jo DrawToImagella :roll:

Re: Ei saa tekstiä näkyviin

Posted: Sun Oct 07, 2007 9:40 pm
by koodaaja
akuman1 wrote:Jaa, paitsi että se oli jo DrawToImagella :roll:
Siis mitä? Koodissa oli aiemminkin drawtoimage, mutta sen jälkeen myös drawtoscreen. En käsitä viestisi pointtia :O

Re: Ei saa tekstiä näkyviin

Posted: Mon Oct 08, 2007 2:44 pm
by Akuman
koodaaja wrote:
akuman1 wrote:Jaa, paitsi että se oli jo DrawToImagella :roll:
Siis mitä? Koodissa oli aiemminkin drawtoimage, mutta sen jälkeen myös drawtoscreen. En käsitä viestisi pointtia :O
Fuji neuvoi minua lisäämään drawtoimagen vaikka se oli jo siellä.

Re: Ei saa tekstiä näkyviin

Posted: Mon Oct 08, 2007 5:49 pm
by FuJi
Akuman wrote: Fuji neuvoi minua lisäämään drawtoimagen vaikka se oli jo siellä.
Jaahas. Ja kertoisitko vielä, että milloin neuvoin noin? :/

Re: Ei saa tekstiä näkyviin

Posted: Tue Oct 09, 2007 3:05 pm
by Akuman
FuJi wrote: Jaahas. Ja kertoisitko vielä, että milloin neuvoin noin? :/
Ai kato sori. Mä tajusin sen viestin silloin väärin kun sanoit että joillakin koneilla täytyy käyttää y akselissa negatiivista lukua.

Re: Ei saa tekstiä näkyviin

Posted: Tue Oct 09, 2007 4:28 pm
by koodaaja
Akuman wrote:
FuJi wrote: Jaahas. Ja kertoisitko vielä, että milloin neuvoin noin? :/
Ai kato sori. Mä tajusin sen viestin silloin väärin kun sanoit että joillakin koneilla täytyy käyttää y akselissa negatiivista lukua.
Minähän kyseisen ohjeistuksen annoin ;D kannattanee lukea tarkkaan viestin lisäksi myös kirjoittaja. Mutta kokeiles tosiaan laittaa y negatiiviseksi, sen pitäisi toimia.

Re: Ei saa tekstiä näkyviin

Posted: Tue Oct 09, 2007 7:24 pm
by Akuman
Juu kuten tuolla ekassa viestissä on jo parin päivän ajan lukenut, olen ratkaissut tekstiongelman. Mutta se hiirijuttu nakertaa.

Re: Ei saa tekstiä näkyviin

Posted: Thu Oct 11, 2007 12:27 am
by koodaaja
Akuman wrote:Juu kuten tuolla ekassa viestissä on jo parin päivän ajan lukenut, olen ratkaissut tekstiongelman. Mutta se hiirijuttu nakertaa.
Piirrä hiiren kuva myöhempään. Jos et tee hiirtä kuvana, muuta systeemiä ja tee se kuvana. Kuvat jyräävät; nopeita, ei turhia ominaisuuksia ja piirtojärjestyksen saa määritellä itse hyvin tarkasti.