Page 119 of 154

Re: Tyhmät kysymykset

Posted: Thu Jan 29, 2009 4:02 pm
by Awaclus
Onko mitään keinoa saada Text-komennolla piirretty teksti näkymään päällimmäisenä, objectien päällä?
EDIT: toimii, kiitos

Re: Tyhmät kysymykset

Posted: Thu Jan 29, 2009 4:06 pm
by rami123
Kokeile laittaa drawgamen jälkeen text komento.

Re: Tyhmät kysymykset

Posted: Thu Jan 29, 2009 9:42 pm
by Boxi
Text 10,10,Rand(1,2)
DrawScreen
WaitKey

miten saisin tuon niin, että kun rand olisi 1 niin tulostaisi "joo" ja kun olisi 2 niin tulostaisi "ei"

Re: Tyhmät kysymykset

Posted: Thu Jan 29, 2009 9:49 pm
by TheFish
Boxi wrote:Text 10,10,Rand(1,2)
DrawScreen
WaitKey

miten saisin tuon niin, että kun rand olisi 1 niin tulostaisi "joo" ja kun olisi 2 niin tulostaisi "ei"

Code: Select all

r = rand(1,2)
if r = 1 then
    addtext "joo"
else
    addtext "ei"
endif 
drawscreen
waitkey

Re: Tyhmät kysymykset

Posted: Thu Jan 29, 2009 9:50 pm
by Koodiapina
Tässä saman toteutus selectillä. Se on muistaakseni iffiä hieman nopeampi.

Code: Select all

select rand(1)
case 1: text 10,10,"joo"
default
  text 10,10,"ei"
endselect
drawscreen
waitkey
En voi testata tuota kun olen Linuxilla, mutta perusidea remains the same.

Re: Tyhmät kysymykset

Posted: Fri Jan 30, 2009 1:36 pm
by koodaaja
Grandi wrote:Tässä saman toteutus selectillä. Se on muistaakseni iffiä hieman nopeampi.

Code: Select all

select rand(1)
case 1: text 10,10,"joo"
default
  text 10,10,"ei"
endselect
drawscreen
waitkey
En voi testata tuota kun olen Linuxilla, mutta perusidea remains the same.
Ei välttämättä nopeampi, saattaa toki olla näinkin. Muuten se on kuitenkin suositeltavampi - ainakin, jos vaihtoehtoja on useita. Selkeämpi ja vaihtoehtojen määrän kasvaessa lyhyempi.

Re: Tyhmät kysymykset

Posted: Fri Jan 30, 2009 3:10 pm
by Wee
Tuossa aloitin pienen topdownin tekoa, mutta meinasi heti alusta tyssätä samaan, kuin Alpha...

Virhekoodi 88, Can't find sturcture block REPEAT...

Ongelma ilmeni sen jälkeen, kun lisäsin Typet, ja ampumisen.

Code: Select all

Type AMMUKSET
  Field obj
EndType

Repeat
  
  If LeftKey() Then MoveObject hahmo, -2
  If RightKey() Then MoveObject hahmo, 2
  If UpKey() Then MoveObject hahmo, 0, -2
  If DownKey() Then MoveObject hahmo, 0, 2  
  
  If KeyHit(cbkeyspace)
     uusiammus.AMMUKSET= New(AMMUKSET)
     uusiammus\obj=CloneObject(panos)
     CloneObjectPosition uusiammus\obj,hahmo+5
     CloneObjectOrientation uusiammus\obj,0
     MoveObject uusiammus\obj,5
  
  DrawScreen
  
Until KeyHit(cbkeyesc)

Re: Tyhmät kysymykset

Posted: Fri Jan 30, 2009 3:21 pm
by Jonhu
Wee wrote:Tuossa aloitin pienen topdownin tekoa, mutta meinasi heti alusta tyssätä samaan, kuin Alpha...

Virhekoodi 88, Can't find sturcture block REPEAT...

Ongelma ilmeni sen jälkeen, kun lisäsin Typet, ja ampumisen.
Sinun pitää muistaa lopettaa if-lauseet. Sisennykset auttavat huomattavasti noiden huomaamiseen ;)

Code: Select all

Type AMMUKSET
  Field obj
EndType

Repeat
 
  If LeftKey() Then MoveObject hahmo, -2
  If RightKey() Then MoveObject hahmo, 2
  If UpKey() Then MoveObject hahmo, 0, -2
  If DownKey() Then MoveObject hahmo, 0, 2 
 
  If KeyHit(cbkeyspace)
     uusiammus.AMMUKSET= New(AMMUKSET)
     uusiammus\obj=CloneObject(panos)
     CloneObjectPosition uusiammus\obj,hahmo+5
     CloneObjectOrientation uusiammus\obj,0
     MoveObject uusiammus\obj,5
   EndIf ' sinun pitää muistaa lopettaa if-lauseet
  
  DrawScreen
 
Until KeyHit(cbkeyesc)

Re: Tyhmät kysymykset

Posted: Fri Jan 30, 2009 3:26 pm
by Wee
P*piip* vie... Pitäis vähän kattoa ittekkin tota koodia toisen kerran, ennen kun lähetän tänne... :lol:

Re: Tyhmät kysymykset

Posted: Fri Jan 30, 2009 10:24 pm
by phons
Minulla on 4 vihu tyypiä(siis Type, ei mitään erillaisia vihuja) ja haluan poistaa sen viimeisen. Miten teen tämän? Olen kokeillut muutamia vaihtoehtoja , mutta päätynyt aina MAViin tai siihen että kaikki poistuu... :(

Edit: Luulen että olet oikeilla jäljillä, mutta tuo ei näemmä poista mitään. Ainakaan se nappulan painaminen ei tee mitään paitsi printtaa kaiken uusiksi...

Re: Tyhmät kysymykset

Posted: Fri Jan 30, 2009 10:41 pm
by tuhoojabotti
phons wrote:Minulla on 4 vihu tyypiä(siis Type, ei mitään erillaisia vihuja) ja haluan poistaa sen viimeisen. Miten teen tämän? Olen kokeillut muutamia vaihtoehtoja , mutta päätynyt aina MAViin tai siihen että kaikki poistuu... :(
Jos ymmärsin oikein.

Code: Select all

Type VIHU
    Field name$
EndType 
'luo vihut
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
v.VIHU=New(VIHU)
v\name=Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))+Chr(Rand(65,127))
'printtaa ne
For v.VIHU=Each VIHU
    Print v\name
Next v
'luuppi
Repeat 
Print "Delete last with the anykey"
WaitKey 'delete 
Gosub dele 
Forever 
'antakaa anteeksi kun käytän gosubbia :D
dele:
v=Last(VIHU)
If v<>NULL Then Delete v
For v.VIHU=Each VIHU
    Print v\name
Next v
Return 


Re: Tyhmät kysymykset

Posted: Sat Jan 31, 2009 1:08 pm
by Maamyyrä
Yhdessä projussani teen ritaria jonka miekkaa heilutellaan hiirellä. Olen käyttänyt tähän asti hiireen liimattua objektia ja miekka osoittamaan siihen. Kun lisäsin kameran seuraamaan ukkoa niin liikkuessa hiiren objecti jäi hiirestä jälkeen. Miekan heiluttelu muuttui hieman hankalaksi ja käsitti vain tietyn alueen.

näin:

Code: Select all

FrameLimit 40

ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko

ukko = LoadObject("Media/cow.bmp", 72)
miekka = LoadObject("Media/cannon.bmp",72)
aim = LoadObject ("Media/crosshair.bmp")

AddText "W,A,S,D ohjaa."
AddText "Hiiri liikuttaa tähtäintä."

Repeat

    ShowMouse OFF
    
    CloneCameraPosition ukko

    CloneObjectPosition miekka, ukko
    
    PositionObject aim , MouseX()-200, -MouseY()+140
    PointObject miekka,aim
    
    If KeyDown(30) Then TurnObject ukko, 5
    If KeyDown(32) Then TurnObject ukko, -5    
    
    If KeyDown(17) Then MoveObject ukko, 2
    If KeyDown(31) Then MoveObject ukko, -2
    
    If MouseDown(1)
       MoveObject Miekka, 5
    EndIf   
    
    DrawScreen

Forever
Miten saan miekan toimimaan?

Re: Tyhmät kysymykset

Posted: Sat Jan 31, 2009 1:22 pm
by phons
Pistä MouseX():n ja MouseY():n tilalle MouseWX() ja MouseWY(). Silloin se ottaa hiiren sijainnin maailmankoordinaateista eikä ruudun niin kuin koodisssasi.

Re: Tyhmät kysymykset

Posted: Sat Jan 31, 2009 7:27 pm
by rami123
Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:

Esimerkkiä? en ymmärtänyt vielä


Re: Tyhmät kysymykset

Posted: Sat Jan 31, 2009 9:49 pm
by -Z-
rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
No teet vaikka niin, että asetat defaultvisiblen offille, ja aina kun yksi tiedosto ladataan, lisäät "ladattu"-muuttujaa. Sitten vaan piirrät ruudulle "Ladattu"-muuttujan mittaisen palkin. Ja muistat tuoda objektit esiin showobjectilla!

Re: Tyhmät kysymykset

Posted: Sun Feb 01, 2009 12:07 pm
by Wee (offline)
rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:

Esimerkkiä? en ymmärtänyt vielä

Hmm... Tuossa tuli itselläni mieleen, että jos toimisi seuraavasti; Aluksi AddTextillä Ladataan, ja sitten kun on ladannut yhden tiedoston, niin cleartextillä tekstit pois, heti jälkeen addtext Ladataan 10%, drawscreen, ja sitten taas ladataan seuraava tiedosto?

Äsh, älä välitä tuosta :D En ole kokeillut, en voi nyt kokeilla, ja tuskin toimiikaan. Tuli vain mieleen tuollainen köyhän miehen purkkaviritys ;)

Re: Tyhmät kysymykset

Posted: Sun Feb 01, 2009 12:12 pm
by Jani
Wee (offline) wrote:
rami123 wrote:Miten tehdään sellanen homma että kun menee pää valikosta peliin niin se näyttää paljon se on ladannut? ettei näyttö vaan ole mustana?
EDIT:

Esimerkkiä? en ymmärtänyt vielä

Hmm... Tuossa tuli itselläni mieleen, että jos toimisi seuraavasti; Aluksi AddTextillä Ladataan, ja sitten kun on ladannut yhden tiedoston, niin cleartextillä tekstit pois, heti jälkeen addtext Ladataan 10%, drawscreen, ja sitten taas ladataan seuraava tiedosto?

Äsh, älä välitä tuosta :D En ole kokeillut, en voi nyt kokeilla, ja tuskin toimiikaan. Tuli vain mieleen tuollainen köyhän miehen purkkaviritys ;)
Ehkäpä näin:

Code: Select all

Print "ladataan"
t=LoadImage("blaablaa")
Print "1 tiedosto ladattu..."
...koodia...

Re: Tyhmät kysymykset

Posted: Sun Feb 01, 2009 12:25 pm
by rami123
? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
EDIT:

Kiitos


Re: Tyhmät kysymykset

Posted: Sun Feb 01, 2009 12:34 pm
by Jani
rami123 wrote:? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
jatketaan vain:
print
lataa tiedosto
print
lataa tiedosto
print
lataa tiedosto
jne... jne...

Re: Tyhmät kysymykset

Posted: Sun Feb 01, 2009 3:40 pm
by koodaaja
Jani wrote:
rami123 wrote:? eli se lataa tuon yhden kuvan ja samalla kirjoittaa printillä?
miten sitte kun koko peli ladataan? :?
jatketaan vain:
print
lataa tiedosto
print
lataa tiedosto
print
lataa tiedosto
jne... jne...
Tai sitten voit tehdä pelimiehen liikkeen ja tehdä kaikille objekteille taulukon, johon lataat yksinkertaisessa for-loopissa kaikki media-kansion kuvat. Tai elegantimmin tiedostolla, joka sisältää ladattavien kuvien nimet.