Hiiri

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Gamehouse
Newcomer
Posts: 25
Joined: Wed Aug 29, 2007 3:59 pm
Location: Talo, Kerrostalo, Kaukajärvi, Tampere, Suomi, Maapallo, Galaksi, Universumi, Maailmankaikkeus...
Contact:

Hiiri

Post by Gamehouse »

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!
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ä

Image
Mysterius Coder
Active Member
Posts: 133
Joined: Mon Aug 27, 2007 8:13 pm

Re: Hiiri

Post by Mysterius Coder »

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.
FuJi
Member
Posts: 70
Joined: Tue Aug 28, 2007 3:09 pm

Re: Hiiri

Post by FuJi »

Itse tekisin tällaisen valiko funktiolla.

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 
Ja käytännössä tämä toimii näin:

Code: Select all

if nappi(15,15,"Nappi") Then gosub *mihin siirrytään*
Ja pelin lopetusnapin voi tehdä näin:

Code: Select all

if nappi(15,15,"Lopeta") Then End
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.
Raspful
Member
Posts: 83
Joined: Tue Aug 28, 2007 2:40 pm
Location: Raisio
Contact:

Re: Hiiri

Post by Raspful »

Höh muut ehti ensin, mutta laitan tämän nyt tähän kuitenkin.

Jaksoin myös kommentoida koodin. :D

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
Tiimin kotisivut

Ydintuhon edistyminen:

Koodi=[70%]
Grafiikka=[60%]
Kentät=[40%]
Musiikki=[50%]
Gamehouse
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

Post by Gamehouse »

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ä

Image
Post Reply