Yksinkertaista grafiikkaa C:llä

Neuvoja vasta-alkajalle!

Tarkoitus olisi piirtää ruudulle yksikertaista grafiikkaa. Ymmärsin, että "perus C:llä" ei saa helposti grafiikkaa ruudulle, vaan pitää käyttää jotakin grafiikkakirjastoa. Yksinkertaisin ja tehtävään sopiva tuntuisi olevan TinyPTC Windows Version (http://sourceforge.net/projects/tinyptc/ ).

En ole löytänyt ohjeita TinyPTC:n käyttöönottoon, joten en tiedä kuinka TinyPTC:tä pitäisi käyttää Gcc:n (Mingw32 3.4.2) kanssa. Pelkkä "tinyptc.h" incluudaminen ei ainakaan riitä, vaikka mukana tulleessa esimerkissä test.c:ssä näin onkin tehty. Kuinka pääsisin eteenpäin?

Kiitokset kaikille, jotka osaavat neuvoa!
211445
Äänestä

Muut lukivat myös

Vastaukset 21

Vanhimmat

MoveTo, LineTo jne. Kahva vaan skriiniin, niin ei ole vaikeata piirrellä tosi vääriinkään paikkoihin. GDI32.LIB, header: wingdi.h.

Äänestä
  • näppäillä gludisk, niin pääsee mukavasti alkuun vähän monipuolisenpien ja windowsin tehtailla siihen koneeseen käytännöllisesti katsoen valmiiksi asennettujen piirtofunktioittenkin kanssa pelailussa.

    Äänestä

  • Hyviä pohjia löytyy esim.
    http://cpp.mureakuha.com/win32/win32pohjaex.htm
    Sivun Win32-tehtävät alta löytyy hyviä malleja mihin tuolla pääsee. Helpointa tapaa eli lomakkeita piirtämällä tehtyjä ei ole kunnolla esitetty. Jos käytät Dev-C tai VisualStudiota, niin molemmissa on Resource -osio, jossa piirtäminen suoritetaan. Tarkempia ohjeita täytyy vähän penkoa.

    Äänestä

http://www.libsdl.org/

sdl käyttöön, siihen löytyy esimerkkejä vaikka kuinka ja olen käyttänyt sitä gcc:llä ja vc:llä.
ja devc ideen löytyy devpakki.

sorry, tinyptc:stä en tiedä mitään.

Äänestä

  • ------ kirjoitti:

    SDL:ssä grafiikan lisäksi ääni(mikseri), näppis, hiiri, joystick, timerit, threadit, CD-ROM, OpenGL ... ja API on lähes naurettavan helppo, lisäksi isot pojat on tehny sillä ihan oikeita kaupallisia pelejä esim. unreal tournament. Eli unohda muut.

    http://en.wikipedia.org/wiki/Simple_DirectMedia_Layer
    http://fi.wikipedia.org/wiki/SDL

    saman tien kunnon kirjasto, ei järkeä jossain vaiheessa vaihtaa parempaan. SDL on kunnon kirjasto. Ja saa käyttää kaupallisissakin softissa (LGPL-lisenssi), ja ongelmitta (tai ainakaan isompia ongelmia) saat käännettyä sen monessa eri käyttiksessä (win, linux) ja macillakin.
    En tajua kuinka joku nykyään haluaa opetella win32 apin, koska tällaisia järjestelmäriippumattomia kirjastoja on tehty. Ja käyttäjiä on muitakin kuin windowsin käyttäjät. Ja sama, kuinka joku opettelee jonkun linuxin x:n apin koska ..sama homma. Niin joo ikkunointi menu ym vaikka wxWindowsilla, fltk:lla, gtk:lla, qt:lla. Ja usean käyttiksen tuki.
    :)

    -tyytyyväinen sdl-käyttäjä

    Äänestä

  • kannattaa opetella kirjoitti:

    saman tien kunnon kirjasto, ei järkeä jossain vaiheessa vaihtaa parempaan. SDL on kunnon kirjasto. Ja saa käyttää kaupallisissakin softissa (LGPL-lisenssi), ja ongelmitta (tai ainakaan isompia ongelmia) saat käännettyä sen monessa eri käyttiksessä (win, linux) ja macillakin.
    En tajua kuinka joku nykyään haluaa opetella win32 apin, koska tällaisia järjestelmäriippumattomia kirjastoja on tehty. Ja käyttäjiä on muitakin kuin windowsin käyttäjät. Ja sama, kuinka joku opettelee jonkun linuxin x:n apin koska ..sama homma. Niin joo ikkunointi menu ym vaikka wxWindowsilla, fltk:lla, gtk:lla, qt:lla. Ja usean käyttiksen tuki.
    :)

    -tyytyyväinen sdl-käyttäjä

    "saman tien kunnon kirjasto, ei järkeä jossain vaiheessa vaihtaa parempaan. "

    Siis aina järkevää vaihtaa parempaan mutta valitsee sdl:n niin kovin äkkiä parempaa ei löydy.

    Ja onpahan se javallekin, c#:lle jne.

    -tyytyyväinen sdl-käyttäjä

    (ei mainospuhe vaan vain käyttäjän kommentti)

    Äänestä

  • kannattaa opetella kirjoitti:

    saman tien kunnon kirjasto, ei järkeä jossain vaiheessa vaihtaa parempaan. SDL on kunnon kirjasto. Ja saa käyttää kaupallisissakin softissa (LGPL-lisenssi), ja ongelmitta (tai ainakaan isompia ongelmia) saat käännettyä sen monessa eri käyttiksessä (win, linux) ja macillakin.
    En tajua kuinka joku nykyään haluaa opetella win32 apin, koska tällaisia järjestelmäriippumattomia kirjastoja on tehty. Ja käyttäjiä on muitakin kuin windowsin käyttäjät. Ja sama, kuinka joku opettelee jonkun linuxin x:n apin koska ..sama homma. Niin joo ikkunointi menu ym vaikka wxWindowsilla, fltk:lla, gtk:lla, qt:lla. Ja usean käyttiksen tuki.
    :)

    -tyytyyväinen sdl-käyttäjä

    En oo samaa mieltä tuosta SDL:stä. Jos tietää jossain vaiheessa joutuvansa tekemään wintoosalla tai linuxilla jotain erikoisempaa kuin commandline -nöyhtiä, on sen apin käytön kumminkin opeteltava. Ei se SDL niin kattava ole, että sillä pärjäisi.
    Ja jos aattelee nykyisten ohjelmien elinikää, niin hyvä on jos pari vuotta vanhasta ohjelmasta saat rääpästyä jotain seuraavaan projektiin. Aika pientä osaa vieläpä tarvii käyttää monessa ympäristössä. Nykyisin kaikki on kertakäyttöisiä myös koodit.

    Äänestä

  • aatella kirjoitti:

    En oo samaa mieltä tuosta SDL:stä. Jos tietää jossain vaiheessa joutuvansa tekemään wintoosalla tai linuxilla jotain erikoisempaa kuin commandline -nöyhtiä, on sen apin käytön kumminkin opeteltava. Ei se SDL niin kattava ole, että sillä pärjäisi.
    Ja jos aattelee nykyisten ohjelmien elinikää, niin hyvä on jos pari vuotta vanhasta ohjelmasta saat rääpästyä jotain seuraavaan projektiin. Aika pientä osaa vieläpä tarvii käyttää monessa ympäristössä. Nykyisin kaikki on kertakäyttöisiä myös koodit.

    En ole myöskään samaa mieltä mitä kirjoitit, ohjelmakoodi kannattaa tehdä niin että saa uudelleen käytettyä sen. Miksi keksiä/kirjoittaa "pyörää" uudelleen jos se on jo tehty, säästyy aikaakin siinä. Ja näitä ilmaisia kirjastoja wxWindows ym hoitaa apin käyttäjän puolesta joten miksi mennä itse apiin. Nämä projektit kumminkin säilyy hengissä joten miksi ei voisi hyödyntää niitä mitä on.
    Eli ei keksitä pyörää uudelleen.
    Joo, SDL ei kata kaikkea, ehkä multimedia/peli -kirjastoksi sopii mutta muihin onkin eri kirjastot.
    Aikoinaan halusin tehdä kaiken itse: grafiikkakirjastot, ääni, ym ym tein niitä vuosia ja myöhemmin tajusin, en muuta saanutkaan aikaan. Ja valmiita (ja huomattavasti parempia) ilmaisia kirjastoja oli jo jaossa, olisin hyödyntänyt niitä niin olisin voinut toteuttaakin "hyviä" peli/ohjelma -ideoita. Käteen ei paljon jäänyt, laitteistotasolla ohjelmointi kyllä (ei paljoa hyödytä enää).

    Äänestä

  • aatella kirjoitti:

    En oo samaa mieltä tuosta SDL:stä. Jos tietää jossain vaiheessa joutuvansa tekemään wintoosalla tai linuxilla jotain erikoisempaa kuin commandline -nöyhtiä, on sen apin käytön kumminkin opeteltava. Ei se SDL niin kattava ole, että sillä pärjäisi.
    Ja jos aattelee nykyisten ohjelmien elinikää, niin hyvä on jos pari vuotta vanhasta ohjelmasta saat rääpästyä jotain seuraavaan projektiin. Aika pientä osaa vieläpä tarvii käyttää monessa ympäristössä. Nykyisin kaikki on kertakäyttöisiä myös koodit.

    muuhun käyttöön:

    http://www.wxwidgets.org/

    "Nykyisin kaikki on kertakäyttöisiä myös koodit."

    Se vie vähän enemmän aikaa suunittella koodia joka on käytettävää ja geneeristä, mutta usko pois se kannataa.

    Äänestä

  • hemmanderi kirjoitti:

    muuhun käyttöön:

    http://www.wxwidgets.org/

    "Nykyisin kaikki on kertakäyttöisiä myös koodit."

    Se vie vähän enemmän aikaa suunittella koodia joka on käytettävää ja geneeristä, mutta usko pois se kannataa.

    Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua. Java on lähes ainoa laitteistoista riippumaton ympäristö.
    Ja mitä esim. seuraavassa on kerrottu koodien uusiokäytöstä:
    http://members.safe-t.net/jwalker/programming/interview.html
    Useimmiten vanhan koodin muokkaamiseen menee enemmän aikaa kuin kokonaan uuden rakentamiseen. Suuren määrän koodia saa muutamalla hiiren klikauksella (C ). Ja mahtaakohan tuolla nykyisellä SDL:n versiolla kirjoiteltu koodi kääntyä tulevissa versioissa ? Jatkuvasti tulee uusia DirectX -paketteja ja 'pieniä' muutoksia käyttiksiin. Aika ihmeellinen paketti täytyy olla, että toimisi nykyisissä järjestelmissä XP/2003/vista/longhorn... saati sitten tulevissa.
    Ja jos toimii, niin sitten on niin hidas kuin Java.

    Äänestä

  • lisänä kirjoitti:

    Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua. Java on lähes ainoa laitteistoista riippumaton ympäristö.
    Ja mitä esim. seuraavassa on kerrottu koodien uusiokäytöstä:
    http://members.safe-t.net/jwalker/programming/interview.html
    Useimmiten vanhan koodin muokkaamiseen menee enemmän aikaa kuin kokonaan uuden rakentamiseen. Suuren määrän koodia saa muutamalla hiiren klikauksella (C ). Ja mahtaakohan tuolla nykyisellä SDL:n versiolla kirjoiteltu koodi kääntyä tulevissa versioissa ? Jatkuvasti tulee uusia DirectX -paketteja ja 'pieniä' muutoksia käyttiksiin. Aika ihmeellinen paketti täytyy olla, että toimisi nykyisissä järjestelmissä XP/2003/vista/longhorn... saati sitten tulevissa.
    Ja jos toimii, niin sitten on niin hidas kuin Java.

    "Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua."

    Ei vai? Lue nuo:
    http://www.libsdl.org/faq.php?action=listentries&category=1#54
    http://wxwidgets.org/docs/faqgen.htm#platforms

    "Java on lähes ainoa laitteistoista riippumaton ympäristö."

    Java ei ole laitteistosta/KJ:stä riippumaton, koska sille on eri versiot eri KJ:lle:
    http://www.java.com/en/download/manual.jsp

    Siis Javan VM toteutetaan jokaiselle KJ erikseen. SDL ja wxWidgets määrittelee "cross platform"-API:n, joka myös toteutetaan jokaiselle KJ/alustalle erikseen. Erona se että SDL/wxWidgets toteutukset ovat natiiveja eli toimivat ja näyttävät samoilta kuin ko. KJ:n grafiikka muutoinkin.
    http://wxwidgets.org/about/screensh.htm

    "Ja jos toimii, niin sitten on niin hidas kuin Java."
    Ei ole. SDL/wxWidgets toimii yhtä nopeasti kuin natiivikirjastotkin. (wxWidgets on joissakin jutuissa hieman hitaampi (kuin natiivit)) Ja alustaspesifiset toimii paremmin kuin Javassa: http://wxwidgets.org/docs/faqgen.htm#specific

    Luepa vielä: http://gameprogrammer.com/sdl.html
    http://wxwidgets.org/docs/faqgen.htm#jave

    Äänestä

  • ----------- kirjoitti:

    "Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua."

    Ei vai? Lue nuo:
    http://www.libsdl.org/faq.php?action=listentries&category=1#54
    http://wxwidgets.org/docs/faqgen.htm#platforms

    "Java on lähes ainoa laitteistoista riippumaton ympäristö."

    Java ei ole laitteistosta/KJ:stä riippumaton, koska sille on eri versiot eri KJ:lle:
    http://www.java.com/en/download/manual.jsp

    Siis Javan VM toteutetaan jokaiselle KJ erikseen. SDL ja wxWidgets määrittelee "cross platform"-API:n, joka myös toteutetaan jokaiselle KJ/alustalle erikseen. Erona se että SDL/wxWidgets toteutukset ovat natiiveja eli toimivat ja näyttävät samoilta kuin ko. KJ:n grafiikka muutoinkin.
    http://wxwidgets.org/about/screensh.htm

    "Ja jos toimii, niin sitten on niin hidas kuin Java."
    Ei ole. SDL/wxWidgets toimii yhtä nopeasti kuin natiivikirjastotkin. (wxWidgets on joissakin jutuissa hieman hitaampi (kuin natiivit)) Ja alustaspesifiset toimii paremmin kuin Javassa: http://wxwidgets.org/docs/faqgen.htm#specific

    Luepa vielä: http://gameprogrammer.com/sdl.html
    http://wxwidgets.org/docs/faqgen.htm#jave

    - Missä kohdassa luki jotain X64:stä ?
    - Ja niin kuin useammassa kohdassa luki, muut ympäristöt kuten kämmentietokoneet ovat vasta tekeillä
    - Jos tämä nyt oli pelikirjasto, niin jos katselee nykyisiä pelejä, mikä niistä winkkarille tehdyistä on OpenGL:ää käyttävä ? Vai onks kyseessä puuauto, joka ei todellisuudessa sovellukaan kaikkien pelien tekoon ?

    Äänestä

  • lisänä kirjoitti:

    Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua. Java on lähes ainoa laitteistoista riippumaton ympäristö.
    Ja mitä esim. seuraavassa on kerrottu koodien uusiokäytöstä:
    http://members.safe-t.net/jwalker/programming/interview.html
    Useimmiten vanhan koodin muokkaamiseen menee enemmän aikaa kuin kokonaan uuden rakentamiseen. Suuren määrän koodia saa muutamalla hiiren klikauksella (C ). Ja mahtaakohan tuolla nykyisellä SDL:n versiolla kirjoiteltu koodi kääntyä tulevissa versioissa ? Jatkuvasti tulee uusia DirectX -paketteja ja 'pieniä' muutoksia käyttiksiin. Aika ihmeellinen paketti täytyy olla, että toimisi nykyisissä järjestelmissä XP/2003/vista/longhorn... saati sitten tulevissa.
    Ja jos toimii, niin sitten on niin hidas kuin Java.

    "Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua."

    Mikä SDL oikein on ? se on yksinkertaisesti wräpperi eli API säilyy samana. SDL toteutaa primitiivisen apin.

    Mikä estää tekemästä uuden version XP:lle, Vistalle jne. mutta windowsin API ei muutu niin tiuhaan.


    Kuten SDL niin wxWidget vaatii portattavan osuuden jonka päälle toiminallisuus tulee. Tämä on ainut järkevä tapa tehdä cross platform ympäristö. Esim GTK käytää GLib kirjastoa joka on portattava osuus.

    Java tomii samalla tavalla, siinäkin on se natiivi osuus.

    Ja mitä tulee koodin uusiokäyttöön, esim jos sinun pitää parsia XML:n teetkö itse parserin vai käytätkö valmista ?

    Äänestä

  • niistä... kirjoitti:

    - Missä kohdassa luki jotain X64:stä ?
    - Ja niin kuin useammassa kohdassa luki, muut ympäristöt kuten kämmentietokoneet ovat vasta tekeillä
    - Jos tämä nyt oli pelikirjasto, niin jos katselee nykyisiä pelejä, mikä niistä winkkarille tehdyistä on OpenGL:ää käyttävä ? Vai onks kyseessä puuauto, joka ei todellisuudessa sovellukaan kaikkien pelien tekoon ?

    "- Missä kohdassa luki jotain X64:stä ?"

    Vaikka tuolla: http://rpmfind.net/linux/RPM/suse/updates/10.1/i386/rpm/ppc/SDL-64bit-1.2.9-19.5.ppc.html

    "- Jos tämä nyt oli pelikirjasto, niin jos katselee nykyisiä pelejä, mikä niistä winkkarille tehdyistä on OpenGL:ää käyttävä ?"

    Doom 3, Unreal Tournament tulee mieleen.
    http://en.wikipedia.org/wiki/List_of_Games_using_SDL

    Äänestä

  • ----------- kirjoitti:

    "- Missä kohdassa luki jotain X64:stä ?"

    Vaikka tuolla: http://rpmfind.net/linux/RPM/suse/updates/10.1/i386/rpm/ppc/SDL-64bit-1.2.9-19.5.ppc.html

    "- Jos tämä nyt oli pelikirjasto, niin jos katselee nykyisiä pelejä, mikä niistä winkkarille tehdyistä on OpenGL:ää käyttävä ?"

    Doom 3, Unreal Tournament tulee mieleen.
    http://en.wikipedia.org/wiki/List_of_Games_using_SDL

    Toi linkki ei toiminut. www.libsdl.org:n sivuilla ei ainakaan download -osastolta löydy yhtään X64 -versiota. Taitaa X64 olla vielä pahasti kesken.

    Kun katsoo idsoftwaren nettisivuilta Doom3:n vaatimuksia, siellä lukee DirectX 9.0b ja Unreal Tournament 2004:n vaatimuksena sama versio.
    Wikipediassa listatut ovat siis suurelta osin jälkeen päin tehtyjä versioita SDL:lle. Myytävät versiot ovat jotain muuta.

    Äänestä

  • hemmanderi kirjoitti:

    "Mistä siis koodi joka toimii sekä x32/x64/muissa ympäristöissä ja kaikilla suorittimilla ? SDL ei tuo siihen mitään ratkaisua."

    Mikä SDL oikein on ? se on yksinkertaisesti wräpperi eli API säilyy samana. SDL toteutaa primitiivisen apin.

    Mikä estää tekemästä uuden version XP:lle, Vistalle jne. mutta windowsin API ei muutu niin tiuhaan.


    Kuten SDL niin wxWidget vaatii portattavan osuuden jonka päälle toiminallisuus tulee. Tämä on ainut järkevä tapa tehdä cross platform ympäristö. Esim GTK käytää GLib kirjastoa joka on portattava osuus.

    Java tomii samalla tavalla, siinäkin on se natiivi osuus.

    Ja mitä tulee koodin uusiokäyttöön, esim jos sinun pitää parsia XML:n teetkö itse parserin vai käytätkö valmista ?

    "Mikä SDL oikein on ?"

    Etusivun mukaan 'multimedia library' eli soveltuu moniin tehtäviin, mutta ei kannata soveltaa jokaiseen ohjelmaan. Varmasti ihan pätevä yksinkertaisten pelien tekoon ja multimedia ohjelmiin.
    En silti käyttäis sitä ohjelmien tekoon, koska koordinaattien antaminen ikkunoita piirrettäessä ei kuulosta nykypäivältä. Resurssieditorilla saa siis yksinkertaisia ohjelmia paljon nopeammin ja helpommin, kun ei tarvitse katsella ohjeista ikkunoiden tyylejä / piirtokäskyjä.

    "jos sinun pitää parsia XML:n teetkö itse parserin vai käytätkö valmista ?"
    Totta kai valmista samoin kuin kuvien käsittelyyn ja tiedostojen pakkaamiseen, mutta mitään niistä en oo koodannut ite. Enkä tarkoittanut myöskään että tekisin windowsin apin ite.
    Jos sen sijaan teen jonkin ohjelman - vaikka sillä resurssieditorilla - niin ei siitä seuraavaan projektiin saa juuri mitään. Ikkunat on aina eri paikassa ja erilaisia. Näin ollen koodi niitten takana on joka kerta erilainen.

    Äänestä

  • tohon kirjoitti:

    Toi linkki ei toiminut. www.libsdl.org:n sivuilla ei ainakaan download -osastolta löydy yhtään X64 -versiota. Taitaa X64 olla vielä pahasti kesken.

    Kun katsoo idsoftwaren nettisivuilta Doom3:n vaatimuksia, siellä lukee DirectX 9.0b ja Unreal Tournament 2004:n vaatimuksena sama versio.
    Wikipediassa listatut ovat siis suurelta osin jälkeen päin tehtyjä versioita SDL:lle. Myytävät versiot ovat jotain muuta.

    "Taitaa X64 olla vielä pahasti kesken."
    En tiedä, mutta tuolla lukee: http://www.libsdl.org/release/changes-1.2.html
    "SDL has been ported to 64-bit Windows."

    Muistaakseni UT2004/Doom3 käyttävät joistain syystä DirectX:n ääni/joystick-tukea tai jotain. Grafiikka on OpenGL ja se näkyy esim. UT huonona tuloksena Vistassa: http://www.tomshardware.com/2007/01/29/xp-vs-vista/page4.html#3d_games
    Joka taas johtuu: http://fi.wikipedia.org/wiki/Windows_Vistan_kritiikki#Aero-Glass.2C_DirectX_ja_OpenGL
    MS:n tavoitteena on kai kuopata OpenGL Windowsilla ja samalla varmistaa ettei pelejä julkaista muille alustoille, mutta toisaalta ainakin Nvidialla on Vistalle OpenGL-tuki. (ööö .. meni vähän off-topic) http://www.nvidia.com/object/winvista_x86_100.59.html

    Äänestä

  • ----------- kirjoitti:

    "Taitaa X64 olla vielä pahasti kesken."
    En tiedä, mutta tuolla lukee: http://www.libsdl.org/release/changes-1.2.html
    "SDL has been ported to 64-bit Windows."

    Muistaakseni UT2004/Doom3 käyttävät joistain syystä DirectX:n ääni/joystick-tukea tai jotain. Grafiikka on OpenGL ja se näkyy esim. UT huonona tuloksena Vistassa: http://www.tomshardware.com/2007/01/29/xp-vs-vista/page4.html#3d_games
    Joka taas johtuu: http://fi.wikipedia.org/wiki/Windows_Vistan_kritiikki#Aero-Glass.2C_DirectX_ja_OpenGL
    MS:n tavoitteena on kai kuopata OpenGL Windowsilla ja samalla varmistaa ettei pelejä julkaista muille alustoille, mutta toisaalta ainakin Nvidialla on Vistalle OpenGL-tuki. (ööö .. meni vähän off-topic) http://www.nvidia.com/object/winvista_x86_100.59.html

    X64:ssä en saa kuin sinisen ruudun ja eikun uutta boottia koneeseen. Se näyttää olevankin jo aikaisemmin ilmoitettu bugi.
    Siinä aikaisemmassa linkissäsi oli vastaus tuohon DirectX osuuteen: http://en.wikipedia.org/wiki/List_of_Games_using_SDL
    Linkin mukaan siis Linux versiossa on käytössä SDL.
    Mutta eiköhän tilanne korjaannu, kun SDL 1.3 versio valmistuu... Näyttäis olevan tulossa aikamoinen liuta parannuksia.

    Äänestä

kyseinen esimerkki on tehty vc6 joten voit joutua hieman kikkailemaan.



Mutta ymärtääkseni tuon nimi on nykyään pixeltoaster:

http://www.pixeltoaster.com/

ja dokumentaatiokin on parantunut.

Äänestä

Näin:

1. Lisäät komentoriville -I lipun, jossa kerrot kääntäjälle, missä tinyptc.h sijaitsee.
2. Lisäät komentoriville -l (pikku L) lipun, jossa kerrot, että käytät tinyptc-kirjastoa (ehkä -ltinyptc).
3. Lisäät komentoriville -L lipun, jossa kerrot kääntäjälle, missä libtinyptc.so sijaitsee.

Esim:

gcc -o tester tester.c -ltinyptc -I/usr/local/include -L/usr/local/lib

Sinun pitää siis linkata ohjelmasi tinyptc-kirjastoa vasten.

Äänestä

Kommentoi aloitusta


TinyPTC+GCC kirjoitti:

Neuvoja vasta-alkajalle!

Tarkoitus olisi piirtää ruudulle yksikertaista grafiikkaa. Ymmärsin, että "perus C:llä" ei saa helposti grafiikkaa ruudulle, vaan pitää käyttää jotakin grafiikkakirjastoa. Yksinkertaisin ja tehtävään sopiva tuntuisi olevan TinyPTC Windows Version (http://sourceforge.net/projects/tinyptc/ ).

En ole löytänyt ohjeita TinyPTC:n käyttöönottoon, joten en tiedä kuinka TinyPTC:tä pitäisi käyttää Gcc:n (Mingw32 3.4.2) kanssa. Pelkkä "tinyptc.h" incluudaminen ei ainakaan riitä, vaikka mukana tulleessa esimerkissä test.c:ssä näin onkin tehty. Kuinka pääsisin eteenpäin?

Kiitokset kaikille, jotka osaavat neuvoa!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu