Page 44 of 154

Re: Tyhmät kysymykset

Posted: Mon May 19, 2008 2:23 pm
by tuhoojabotti
SDK:ssa on myös funkkari tuohon...

Re: Tyhmät kysymykset

Posted: Wed May 21, 2008 12:53 am
by zedo
Mitenkäs pitäis toimia, kun (ylhäältäpäin kuvatussa) mapissa on puita, jotka koostuu 9 tilestä, keskimmäinen törmäys-tasossa, muut overissa.
2 ongelmaa:

1. Ukko ei törmää puun keskimmäiseen tileen(=runkoon), oon pelin koodissa laittanu
setupcollision ukko,mappi,2,4,2

2. Maskiväri ei toimi (käyttää defaulttia eli mustaa, vaikka asetettu 255,0,255). Tilesterissä toimii, oikea on valittu, mutta kun cb:stä ajaa pelin, niin ei toimi (=näkyy pinkkiä).
Pitääkö KARTAN maskiväri jotenki määrittää koodissa? o.O

Re: Tyhmät kysymykset

Posted: Wed May 21, 2008 7:39 am
by Jonez
Muista Tilesterissä tallentaa mappi 1.3-muotoon. En kyllä tiedä että miten tämä vaikuttaa hit-kerroksiin, en ikinä käytä Tilesteriä.

Ja kyllä, kartta pitää maskata myös koodissa. Oletusmaski on musta, mutta voit vaihtaa sen komennolla MaskObject.

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 1:43 am
by zedo
Tattista juu tosta maskaamisesta, oishan se pitäny tajuta, kun sen oppitunneiltaki saa selville -.-
Se hit-layerin toiminta ei kuitenkaan jostain syystä onnistu... ukko ei törmää.
Vinkkejä from any1? :?:

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 7:57 am
by Sly_Jack0
En ole varma mutta olen kuullut että tilesterissä pitäisi tehdä hit kerros tilellä nro. 1. En ole varma koska en itse käytä tilesteriä.

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 10:36 am
by zedo
Kiitti! Toi tepsi, eli törmättävän tilen pitää olla vasemmassa ylänurkas oleva tile ja sit se "oikea" siihen päälle overiin.
Sit tää varmaan kelpaa ihan hyvin tyhmät kysymykset osioon, mut miten teette normaalisti mapit?(siis jos ette käytä tilesteriä) :?

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 12:03 pm
by Jonez
Itse käytän TileGeniä. Helppo käyttöliittymä, dynaaminen mapin koko ja vakaa ohjelma. Saat sen täältä.

On olemassa myös A Stigmator-niminen ohjelma, joka on tehty coolbasicilla. Muuten ihan hyvä, mutta itselläni se kaatuu aina vähän väliä, jonka takia en käytä sitä. Kaatumista esiintyy vain joillakin koneilla, joten kannattaa kokeilla molempia ohjelmia ja katsoa kummasta tykkää enemmän. Lataa täältä.

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 12:07 pm
by DuCk-
ajattelin tehä stategia pelin.
miten saadaan esimerkiksi 30 kloonattua ukkoa törmäämään toisiinsa?
onko tää mahollista muuten kuin setupcollisionilla.

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 3:02 pm
by Koodiapina
DuCk- wrote:onko tää mahollista muuten kuin setupcollisionilla.
Jos käytät objekteja, setupcollision on todennäköisesti paras ratkaisu (Tai no riippuu mitä oot väsäämässä...) Mutta typet / taulukot kunniaan.

Re: Tyhmät kysymykset

Posted: Fri May 23, 2008 5:01 pm
by Jonez
Onnistuu muillakin. On olemassa sellaisia funkkareita kuin ObjectsOverlap(), Imagesoverlap(), jopa Distance() ja Distance2()-funkkareilla voit järjestää asian. Voit myös tarkastaa objektien koordinaatit funktioilla ObjectX() ja ObjectY(), sekä rajoittaa objektien sijaintia näitä tietoja apuna käyttäen. (ts. tarkistaa onko objekti liian lähellä ja siirtää se tarpeeksi kauas).

SetupCollision on kuitenkin todennäköisesti paras ratkaisu.

Re: Tyhmät kysymykset

Posted: Sat May 24, 2008 7:36 pm
by zedo
Pitäis näköjään pian rekisteröityäkin tänne... en itse asias oo varma oonko jo rekisteröityny joskus kauan sitte... :lol:
Itse asiaan:
Metsästyspelistä yli 700 riviä jo saanu onnistumaan, mut nyt ei vaan raksuta et, miks helkutissa tää ei toimi? Näyttää yksinkertaselta.
Pitäis siis pausevalikko saada aikaan.
Pelissä on kaikkea liikkuvaa objektia ja taustamusa looppina.
Sitte: If EscapeKey() Then Gosub pausevalikko
Se menee tohon ihan onnistuneesti, kyllä.
Valikkokuva (kts koodi alempana) kuitenki vaan välähtää siinä, niiku sitä ei piirrettäis silmukan sisällä.
Looppi kuitenki jatkuu, sillä vasta ku klikkaa, peli jatkuu (objektit liikkuu) vaikkakin tausamusa soi kokoajan (tuskin aloittaa alusta, kun tossa loopissa sitä ei ole käsketty).

Code: Select all

pausevalikko:
        pause=LoadImage("hlv\esuap.hlv")
        ShowMouse cursor
    Repeat
        If MouseUp(1) Then Goto pausetakaisin
        DrawImage pause,337,209
        DrawScreen
    Forever
pausetakaisin:
Return
Raakana tollasenaan ilman mitään muuta koodia toi toimi hyvin, ku poistin ekan, kolmannen ja vikan rivin ja tallensin oikein.
En kuitenkaan tajua, et miks ei jää ruudulle keskellä peliä.
Toivottavasti joku tajus jotaki :)

Re: Tyhmät kysymykset

Posted: Sat May 24, 2008 8:16 pm
by Murskaaja
Pelimaailma täytyy piirtää ennen kuvia, muuten kuvat jäävät sen alle.

Sitten pari muuta huomiota. Ensinnäkin, pois nuo hirveät goto-purkkaviritykset. Pause-kuvaa ei kannata ladata joka kerta kun peli keskeytetään. Riittää kun sen lataa kerran pelin käynnistyksen yhteydessä. Mielestäni olisi myös luontevaa, että peli jatkuisi samasta napista kuin mistä sen saa pauselle, mutta tee toki omalla tavallasi jos et ole samaa mieltä :)

Code: Select all

pause=LoadImage("hlv\esuap.hlv")
..koodia...

pausevalikko:
    ShowMouse cursor
    ClearKeys
    Repeat
        If KeyHit(cbkeyesc) Then exit
        DrawGame
        DrawImage pause,337,209
        DrawScreen
    Forever
    ClearKeys
Return

Re: Tyhmät kysymykset

Posted: Sat May 24, 2008 9:36 pm
by zedo
Toihan se vastaus oliki tosiaan...
en itekään gotoista tossa tykkää, mutta exitin manuaalissa sanottiin, ettei if-lauseisiin toimi... tiedä sitten.
Toi pause oli ladattu tohon koska... ei mitään :mrgreen:
Siihen oli syynsä, mutta siirrän sen kuitenkin.
Ja viimene, eli se hiirijuttu on se, että pausevalikossa on samassa kuvassa 2 nappulaa ja tohon hiiren nappulan rinnalle laitan "Jatka peliä"-kuvan koordinaatit ehdoksi, että tulee exit.
Älä valita :D Oon alusta asti täs pelis käyttäny tota menetelmää nappuloiden kanssa ja käytän ohjelman loppuuun saakkakin. En viittiny kesken ruveta vaihtamaan > ensi ohjelmassa sitten. ;)

Re: Tyhmät kysymykset

Posted: Mon May 26, 2008 10:09 pm
by koodaaja
Ei Exit if-lauseisiin toimi, muttei tuossa siitä halutakaan poistua vaan siitä ympäröivästä loopista. Siitähän sillä poistutaan.

Re: Tyhmät kysymykset

Posted: Sun Jun 01, 2008 5:15 pm
by nevssons
Vaihtaako SDK:n avaus dialogi oletuskansiota?
Mulla nimittäin jostain syystä oletuskansio vaihtuu aina ladatun tiedoston kansioks

Edit:
Testasin ite ja kyllä, kansio vaihtuu toinen kysymys:
Miten saa Ohjelman hakemistopolun selville?

Re: Tyhmät kysymykset

Posted: Mon Jun 02, 2008 10:04 am
by Olwi

Code: Select all

 If MouseWX()<ObjectX(vihu_obj(i))+20 And MouseWX()>ObjectX(vihu_obj(i))-20 And MouseWY()<ObjectY(vihu_obj(i))+20 And MouseWY()>ObjectX(vihu_obj(i))-20 And MouseHit(1) Then
         DeleteObject vihu_OBJ(i)
                
        vihu_ELOSSA(i)=OFF
Jostain syystä ei poista kaikkia,vaikka varmasti osuis?
Taulukoilla sähellän...

Re: Tyhmät kysymykset

Posted: Mon Jun 02, 2008 10:52 am
by nevssons
Olw1 wrote:

Code: Select all

 If MouseWX()<ObjectX(vihu_obj(i))+20 And MouseWX()>ObjectX(vihu_obj(i))-20 And MouseWY()<ObjectY(vihu_obj(i))+20 And MouseWY()>ObjectX(vihu_obj(i))-20 And MouseHit(1) Then
         DeleteObject vihu_OBJ(i)
                
        vihu_ELOSSA(i)=OFF
Jostain syystä ei poista kaikkia,vaikka varmasti osuis?
Taulukoilla sähellän...
Vika ei tuossa koodissa näytä olevan. Itse kun testasin niin toimi ihan hyvin. (Tosin pari pikku ongelmaa tuli koska piti ite koodata siihen ympärille kaikenlaista enkä jaksanut mitään ihmeellisiä vääntöjä tehdä)

Minkä kokosia sun objectit on? jos ne on yli 40x40 niin toi ei toimi.

Re: Tyhmät kysymykset

Posted: Mon Jun 02, 2008 12:46 pm
by Olwi
nevssons wrote:
Olw1 wrote:

Code: Select all

 If MouseWX()<ObjectX(vihu_obj(i))+20 And MouseWX()>ObjectX(vihu_obj(i))-20 And MouseWY()<ObjectY(vihu_obj(i))+20 And MouseWY()>ObjectX(vihu_obj(i))-20 And MouseHit(1) Then
         DeleteObject vihu_OBJ(i)
                
        vihu_ELOSSA(i)=OFF
Jostain syystä ei poista kaikkia,vaikka varmasti osuis?
Taulukoilla sähellän...
Vika ei tuossa koodissa näytä olevan. Itse kun testasin niin toimi ihan hyvin. (Tosin pari pikku ongelmaa tuli koska piti ite koodata siihen ympärille kaikenlaista enkä jaksanut mitään ihmeellisiä vääntöjä tehdä)

Minkä kokosia sun objectit on? jos ne on yli 40x40 niin toi ei toimi.
30x30...

Ja kyllä tuo toimis isommillaki,se ottais ne vaan siitä keskustasta.
Peli siis toimii näin:
Vihut tulee ylhäältä alas,ja ne pitää "ampua" ennen kuin ne ehtivät ruudun alalaitaan.
Hiukan useammin näytti osuvan, kun napsautti hieman objectin eteen.
Sitten oli sellasia ihme bugeja että jos Y-koordinaatti on melkein sama,ihan sama objectien etäisyydelle,niin saattaa poistaa kummatkin/useampia kerralla.
:(


Vaihtoehtoisia tapoja toteuttaa tuo???



Edit
Aina vaan ihmeellisempää.
Nyt huomasin että ruudun vasemmalla puolella se poistaa kaikki niinkuin pitääkin,ruudun oikealla puolella vain satunnaisesti?!?!??!

Re: Tyhmät kysymykset

Posted: Mon Jun 02, 2008 2:11 pm
by KovIZZ
Mitä kaikkea clearobjects oikeen poistaa? Manuaalissa sanotaan, että vain objecteja.Kuitenkin kun yritän tehdä peliini eri kenttiä niin toiseen kenttään siirryttäessä tulee mav. Kun poistan clearobjectin niin silloin homma toimii. Kaikki objectit on varmasti ladattu toisessakin kentässä, koska ne ladataan aina samalla aliohjelmalla.
Äsken löysin täältä foorumilta aiheen jossa sanottiin, että tyypeillä tehdyt objectit pitäisi poistaa erikseen, onko tuossa jotain perää ja jos on niin miten ne sitten poistetaan.

Re: Tyhmät kysymykset

Posted: Mon Jun 02, 2008 3:28 pm
by KillBurn
Joo tyypit kannattaa poistaa erikseen,vaikka siten että teet funktion jossa ne poistetaan.

Code: Select all

Function poista(obj)
    For a.vihus = Each vihus
        DeleteObject a\obj
        Delete a
    Next a
EndFunction
tossa siis poistetaan yksi tyyppi