Moi!
Olen aloitteleva CoolBasic- koodaaja ja olen tekemässä nyt peliä. Haluaisin siihen hiirivalikon, mutta miten saan laatikon, jota voi klikata ja sitten ohjelma menee jonnekkin, vaikka Goto:lla? Olen kokeillut kaikenlaisia koodeja, mutta ne eivät ole toimineet!! Apua!
Hiiri
-
- Newcomer
- Posts: 25
- Joined: Wed Aug 29, 2007 3:59 pm
- Location: Talo, Kerrostalo, Kaukajärvi, Tampere, Suomi, Maapallo, Galaksi, Universumi, Maailmankaikkeus...
- Contact:
Hiiri
Projektit:
- FallDown 4 Lataa uusin! Versio: 4.0
Pelimoottori: 70%
Grafiikat: 90%
Äänet: 80%
Kentät: 50%
------------------------
Yhteensä: n. 72.5% valmis.
Tila: puoliaktiivisessa kehityksessä
- FallDown 4 Lataa uusin! Versio: 4.0
Pelimoottori: 70%
Grafiikat: 90%
Äänet: 80%
Kentät: 50%
------------------------
Yhteensä: n. 72.5% valmis.
Tila: puoliaktiivisessa kehityksessä
-
- Active Member
- Posts: 133
- Joined: Mon Aug 27, 2007 8:13 pm
Re: Hiiri
Näin ainakin. Voi sen tehdä eri tavoillakin mutta minä ainakin teen näin.
Code: Select all
buttoni=LoadObject("media\buttoni.bmp")
hiiri=LoadObject("media\kursori.bmp")
Repeat
PositionObject hiiri,MouseWX(),MouseWY()
If ObjectsOverlap(hiiri,buttoni) Then
'hiiri buttonin päällä effekti
EndIf
If ObjectsOverlap(hiiri,buttoni) And MouseHit(1) Then
Goto johonki
EndIf
DrawScreen
Forever
Kyllä minä osaan, mutta kun mieli on tällasen kaaoksen vallassa, niin ei siitä mitään tule.
Re: Hiiri
Itse tekisin tällaisen valiko funktiolla.
Funktion koodi:
Ja käytännössä tämä toimii näin:
Ja pelin lopetusnapin voi tehdä näin:
Tuossa sulkejen sisäpuolella olevat numerot määrittävät napi sijainnin eli ne ovat koordinaatit ja sitten lainausmerkkien sisään tulee teksti, joka napissa lukee.
Funktion koodi:
Code: Select all
Function nappi(x,y,txt$)
w = TextWidth(txt$)
h = TextHeight(txt$)
a = 0
If MouseX()>x And MouseY()>y And MouseX()<x+w+4 And MouseY()<y+h+4 Then a = 1
If a Then Color cbDarkBlue Else Color cbLightBlue
Box x, y, w+4,h+4
Color 0,0,0
Box x, y, w+4, h+4, 0
Text x+2, y+2, txt$
If a And MouseHit(1) Then Return 1
End Function
Code: Select all
if nappi(15,15,"Nappi") Then gosub *mihin siirrytään*
Code: Select all
if nappi(15,15,"Lopeta") Then End
Re: Hiiri
Höh muut ehti ensin, mutta laitan tämän nyt tähän kuitenkin.
Jaksoin myös kommentoida koodin.
Jaksoin myös kommentoida koodin.
Code: Select all
SCREEN 1024,768 //muutetaan näytön tila
// Esimerkki funktion käytöstä
alku: //Alku johon siirrytään jos painetaan enteriä
batavia=LoadFont ("batavia",30) //ladataan fontti jolla teksti kirjoitetaan nappiin
Repeat //pääsilmukka
SetFont batavia //otetaan ladattu fontti käyttöön
If button ("Poistu",10,10) Then End //luodaan "poistu" nappi
If button ("peli",10,110) Then Goto peli // luodaan "peli" nappi
If button ("ohjeet",10,210) Then Goto ohjeet // luodaan "ohjeet" nappi
DrawScreen //pirretään näyttö
Forever //lopetetaan silmukka
peli: //peli joihin siirrytään tuossa "..then goto peli" kohdassa
Repeat//pääsilmukka
Text 10,0,"Tämä on peli, palaa takaisin painamalla enter"
If KeyHit (28) Then Goto alku // jos painetaan enteriä niin palataan alkuun
DrawScreen//pirretään näyttö
Forever //Toistetaan silmukkaa kunnes toisin määrätään
ohjeet: //ohjeet joihin siirrytään tuossa "..then goto ohjeet" kohdassa
Repeat//pääsilmukka
Text 10,0,"Tämä hiiri valikko käyttää apunaan funktiota."
Text 10,35,"Hyödyt: Ei tarvita kuvia, Kun funktion"
Text 10,70," käytön oppii sillä pystyy tekemään hienojakin valikoita "
Text 10,105,"Haitat: Aluksi funktion käyttö tuntuu vaikealta."
Text 10,400,"Palaa takaisin painamalla enter"
DrawScreen//pirretään näyttö
If KeyHit (28) Then Goto alku // jos painetaan enteriä niin palataan alkuun
Forever //Toistetaan silmukkaa kunnes toisin määrätään
// Funktio
Global lisaa1,r //Globalisoidaan muuttujat
Global lisaa,b //Globalisoidaan muuttujat
Function button (txt$,x,y,x1=200,y1=50) //Tehdään funktio jossa
//voidaan määritellä teksti joka lukee napissa lukee,napin xja y sijainti ja napinkoko(napin koko ei ole pakollinen)
//Tässä kohtaa tehdään se etttä nappi vaihtaa väriä, sen voit poistaa jos haluat
If r = 0 Then lisaa1=1 // jos punainen(=r) on 0 niin lisaa1 = 1
If r = 255 Then lisaa1=0 // jos punainen(=r) on 255 niin lisaa1 = 0
If lisaa1 = 1 Then r+1 //jos lisaa1 = 1 niin punaiseen(=r) aletaan lisätä väriä
If lisaa1 = 0 Then r-1 //jos lisaa1 = 0 niin punaisesta(=r) aletaan vähentää väriä
If b = 255 Then lisaa=0 // jos sininen(=b) on 0 niin lisaa = 1
If b = 0 Then lisaa=1 // jos sininen(=b) on 255 niin lisaa = 0
If lisaa = 0 Then b-1 //jos lisaa = 0 niin sinisestä(=b) aletaan vähentää väriä
If lisaa = 1 Then b+1 //jos lisaa = 1 niin siniseen(=b) aletaan lisätä väriä
// Jos haluat tuon värin vaihtumisen pois ÄLÄ poista tätä enempää koodia.
Color r,0,b // tässä määrätään napin väri
Box x,y,x1,y1 //luodaaan laatikko johon klikataan
Color 255,255,255 //määritetään nappiin tulevan tekstin väri
CenterText x+200/2,y+10,txt$ //kirjoitetaan teksti nappiin
If BoxOverlap(MouseX(),MouseY(),10,10,x,y,x1,y1) And MouseHit(1) Then Return 1 //Tämä on vaikeampi selittää,
//mutta siinä katsotaan, että jos hiiri on napin päällä ja siihen klikataan niin funktio palauttaa ykkösen ja jotain tapahtuu.
End Function //lopetetaan funktio
-
- Newcomer
- Posts: 25
- Joined: Wed Aug 29, 2007 3:59 pm
- Location: Talo, Kerrostalo, Kaukajärvi, Tampere, Suomi, Maapallo, Galaksi, Universumi, Maailmankaikkeus...
- Contact:
Re: Hiiri
Kiitos! Nyt toimii!
Projektit:
- FallDown 4 Lataa uusin! Versio: 4.0
Pelimoottori: 70%
Grafiikat: 90%
Äänet: 80%
Kentät: 50%
------------------------
Yhteensä: n. 72.5% valmis.
Tila: puoliaktiivisessa kehityksessä
- FallDown 4 Lataa uusin! Versio: 4.0
Pelimoottori: 70%
Grafiikat: 90%
Äänet: 80%
Kentät: 50%
------------------------
Yhteensä: n. 72.5% valmis.
Tila: puoliaktiivisessa kehityksessä