Kuvien piirtäminen/säilöminen

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Szanne
Member
Posts: 50
Joined: Thu Aug 30, 2007 5:12 pm
Location: Suomi

Kuvien piirtäminen/säilöminen

Post by Szanne »

Olen mietiskellyt, että miten olisi järkevintä toteuttaa kuvien piirtämien tai oikeastaan säilöminen projektissa. Jos vaikka ajatellaan, että esim. pelissä pitää piirtää monta kertaa ruudulla olevia esineitä, joidenka paikka voi kuitenkin muuttua vähän, tai ne voivat kadota vähäksi aikaa ruudulta. Siinähän tapauksessa ei voi piirtää kaikkia kuvia yhteen kuvaan, jonka sitten piirtäisi. Eihän?

Itse ongelmahan on se, että kuviahan ei voi määritellä globaaleiksi muuttujiksi, jolloin kuvien piirtämisfunktioille joutuu antamaan miljoona sata seitsemänkymmentä parametriä, jos haluaa, että yksi funktio voi tehdä kaiken piirtämisen. Mietinkin, että olisiko järkevin ratkaisu sijoittaa kaikki kuvat esim. yhteen tyyppikokoelmaan, jota voidaan sitten funktioissa käydä läpi ja piirtää sen avulla, koska tyypithän ovat globaaleja.

Otan mielellään vastaan parempia ideoita asian toteuttamiseksi. Tuuminkin, että kysymys on kuitenkin relevantti myös muille ohjelmointikielille. Toivottavasti vastaus ei ole mikään äärimmäisen yksinkertainen, minkä olen vain sivuuttanut koko ajan ja en ole tajunnut. : D
2X - in English viewtopic.php?f=18&t=3057
2X - suomeksi viewtopic.php?f=11&t=3058

Olen Jop Studio vanhalta foorumilta.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Kuvien piirtäminen/säilöminen

Post by Latexi95 »

Szanne wrote:Olen mietiskellyt, että miten olisi järkevintä toteuttaa kuvien piirtämien tai oikeastaan säilöminen projektissa. Jos vaikka ajatellaan, että esim. pelissä pitää piirtää monta kertaa ruudulla olevia esineitä, joidenka paikka voi kuitenkin muuttua vähän, tai ne voivat kadota vähäksi aikaa ruudulta. Siinähän tapauksessa ei voi piirtää kaikkia kuvia yhteen kuvaan, jonka sitten piirtäisi. Eihän?

Itse ongelmahan on se, että kuviahan ei voi määritellä globaaleiksi muuttujiksi, jolloin kuvien piirtämisfunktioille joutuu antamaan miljoona sata seitsemänkymmentä parametriä, jos haluaa, että yksi funktio voi tehdä kaiken piirtämisen. Mietinkin, että olisiko järkevin ratkaisu sijoittaa kaikki kuvat esim. yhteen tyyppikokoelmaan, jota voidaan sitten funktioissa käydä läpi ja piirtää sen avulla, koska tyypithän ovat globaaleja.

Otan mielellään vastaan parempia ideoita asian toteuttamiseksi. Tuuminkin, että kysymys on kuitenkin relevantti myös muille ohjelmointikielille. Toivottavasti vastaus ei ole mikään äärimmäisen yksinkertainen, minkä olen vain sivuuttanut koko ajan ja en ole tajunnut. : D
Tottakai kuvat voivat olla globaaleita muuttujia. Kuvien "handle" on ihan tavallinen integer muuttuja joten pystyt tekemään siitä globaalin. Jos sinä haluat paljon kuvia joilla kaikilla on eri sijainti ja niitä mahdollisesti liikutellaan tai piilotellaan välillä, niin voit ihan hyvin käyttää objekteja ja antaa DrawScreenin huolehtia piirtämisestä. Sitten sinun pitää vain huolehtia oikeasta järjestyksestä objektien latauksessa tai järjestellä niitä ObjectOrderilla että ne piirtyvät haluamallasi tavalla päällekkäin. Tyyppikokoelma jossa lista kuvista luonnollisesti toimii myös.
Szanne
Member
Posts: 50
Joined: Thu Aug 30, 2007 5:12 pm
Location: Suomi

Re: Kuvien piirtäminen/säilöminen

Post by Szanne »

Testasin kerran, että voivatko kuvat olla globaaleja muuttujia ja tulin johtopäätökseen, etteivät voivat olla. Olin siis tupeksinut jotain muuta koodin kanssa silloin.. Objekteja en ole vähään aikaan käyttänyt, niin en tajunnut niiden käyttömahdollisuuksia. Pitääpä laittaa korvan taakse.
2X - in English viewtopic.php?f=18&t=3057
2X - suomeksi viewtopic.php?f=11&t=3058

Olen Jop Studio vanhalta foorumilta.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Kuvien piirtäminen/säilöminen

Post by Latexi95 »

Itse asiassa jopa Global komennon esimerkki esittelee, kuinka kuva voi olla globaali muuttuja. #%$ merkit globaalien muuttujien nimissä taisivat aiheuttaa jotain jännyyksiä.
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Kuvien piirtäminen/säilöminen

Post by Jonez »

Muistaakseni, jos esittelee muuttujan globaaliksi käyttäen "As"-avainsanaa, muuttujanimen perässä olevat erikoismerkit joilla normaalisti määriteltäisiin muuttujan tyyppi (#, $), jne., ovat vain osa muuttujanimeä.

Eli
Global a$ As Float

tekee float-tyyppisen muuttujan jonka muuttujanimi on "a$".
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Szanne
Member
Posts: 50
Joined: Thu Aug 30, 2007 5:12 pm
Location: Suomi

Re: Kuvien piirtäminen/säilöminen

Post by Szanne »

En ollut sitten katsonut tuota Global-komennon esimerkkiä ollenkaan.. Päättelin, että kuvat eivät voi olla globaaleja, koska en tiennyt tuota kuvan handle-juttua, koska siis esittelin kaikki muut globaalit muuttujat As Integer etc. Kiitoksia neuvoista!
2X - in English viewtopic.php?f=18&t=3057
2X - suomeksi viewtopic.php?f=11&t=3058

Olen Jop Studio vanhalta foorumilta.
Post Reply