Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: C ja pikselikomennot

Sivun loppuun

kayttaja-4976 [19.06.2006 11:33:31]

#

Miten voin piirtää ruudulle yksinkertaisesti yhden kuvapisteen? Jos on nopeampia/helpompia/muulla tavoin parempia tapoja kiitos kertokaa vaan.
Kieli on C

Metabolix [19.06.2006 11:45:02]

#

C:ssä ei ole piirtokomentoja, koska se on laitteistoriippumaton kieli.

Jos teet DOS-ohjelmaa, tutustu dos.h:n komentoihin intr ja int86, laita al-rekisteriin 0x13 ja kutsu keskeytystä 0x10. Tämän jälkeen olet 320x200-tilassa 256 värillä ja voit piirtää ruudulle kirjoittamalla muistiin osoitteesta 0xa0000 alkaen.

Edistyneemmillä alustoilla (Windowsissa, Linuxissa jne) on omia kirjastojaan, joilla on kuitenkin paha tapa toimia vain omalla alustallaan. SDL (Simple DirectMedia Layer) on varsin näppärä rajapinta, jolla saa hyvin monessa järjestelmässä aikaan ikkunan tai vastaavan, jolle voi piirrellä. Heikin SDL-opas sijaitsee Oppaat-osiossa.

kayttaja-4976 [19.06.2006 17:38:05]

#

Metabolix kirjoitti:

laita al-rekisteriin 0x13 ja kutsu keskeytystä 0x10

Metabolix kirjoitti:

kirjoittamalla muistiin osoitteesta 0xa0000

Öö sori en ymmärrä. Olen C noviisi.

Baglair [19.06.2006 17:47:40]

#

Tuolla Metabolix tarkoitti VGA-näyttötilaa http://fi.wikipedia.org/wiki/VGA

Tuo toki on vain yksi mahdollisuus. Sen avulla voit lähinnä tehdä yksinkertaisia asioita kuten piirtää erivärisiä viivoja näyttöpintaan. Kuten Metabolix sanoikin kannattaa aloittaa vaikkapa tästä
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=sdl1

Tietysti täytyy olla C:n perusteet hallussa jotenkuten.
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=cohj_1

os [19.06.2006 18:46:26]

#

Baglair kirjoitti:

Tietysti täytyy olla C:n perusteet hallussa jotenkuten.

Rekisterit ja keskeytykset eivät ole ainakaan C-kielen perusteita. Ei siis kannata tuskastua.

kayttaja-4976 [21.06.2006 21:42:43]

#

Asensin SDL:n... Ei löydä SDL.dll:ää :(

Meitsi [21.06.2006 22:07:01]

#

Tuikkaa sdl.dll ohjelmasi kansioon niin toimii. Jos haluaa pysyvän ratkaisun niin system32 kansioon (ainakin xp:ssä kait).

kayttaja-4976 [22.06.2006 12:22:51]

#

Missä hakemistossa SDL.dll on?

Blaze [22.06.2006 12:33:56]

#

Start > Search > For files and folders...

ZcMander [22.06.2006 12:44:05]

#

Eikös SDL:stä pitänyt hakea devel ja runtime versiot, devel-versiossa tulee headrit ja lib-tiedostot ja runtimessä tule tuo yksi DLL:llä.

os [22.06.2006 13:15:08]

#

http://www.libsdl.org/release/SDL-1.2.10-win32.zip

kayttaja-4976 [22.06.2006 15:21:10]

#

os kirjoitti:

http://www.libsdl.org/release/SDL-1.2.10-win32.zip

404 :(

Metabolix [22.06.2006 15:22:29]

#

No eikä ole, hyvin toimii.

Kyllä se omakin SDL.dll kelpaa, varmaankin olet Dev-C++:n käyttäjä ja asentanut DevPakin.

kayttaja-4976 [22.06.2006 15:26:28]

#

Sori.

Äsken ei toiminu, nyt toimii.

Joo olen Dev-C++ käyttäjä, mutta omistan silti Visual C++:an. Muuten missä Visual C++ kertoo käännöksenaikaisen virheen sijainnista? Minulla se vain sanoo tylysti löytäneensä niin ja niin monta virhettä ja varoitusta.

EDIT: Typoja korjailtu

Metabolix [22.06.2006 16:11:27]

#

Kyllä VC++:ssa lukee hyvin selkeästi käännösvirhelaatikossa ne, en tiedä, mitä olet tehnyt, jos et sitä löydä.

kayttaja-4976 [22.06.2006 17:01:53]

#

Siis tarkoitatko polkuja joita on yhtä paljon kuin virheitä?

Metabolix [25.06.2006 11:42:43]

#

No eikös niistä jokaisessa ole tiedoston nimi, rivinumero ja lopussa se virheilmoitus?

Ja kommenttina tuonne toiseen viestiisi ("Öö sori en ymmärrä"): jos olisit aloittanut ohjeen ensimmäisestä vaiheesta eli etsinyt DOS-kääntäjän ja katsonut sen ohjeista nuo kaksi funktiota, niin olisitpa saattanut ymmärtääkin edes jotain. Ohjeissa kuuluu edetä ensin niin pitkälle kuin suinkin ja vasta sitten kysyä, kun oikeasti on ongelmakohdassa asti.

kayttaja-4976 [25.06.2006 20:21:08]

#

Kiitos vinkeistä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta