Kirjautuminen

Haku

Tehtävät

Koodit: QB: Pisteen piirto nopeammin

Kirjoittaja: Antti Laaksonen

Kirjoitettu: 11.01.2002 – 11.01.2002

Tagit: grafiikka, koodi näytille, vinkki

Hieman QBasicin omia grafiikkakomentoja nopeampaa on piirtää grafiikkaa suoraan näyttömuistiin. Tämä esimerkki on näyttötilalle 13. Ohjelman alussa määritetään muistisegmentti, josta näyttömuisti alkaa. Tämän jälkeen pikselin väriä voi muuttaa POKE-komennolla. Pikselit ovat muistissa peräkkäin ylhäältä alas ja vasemmalta oikealle. Jos halutaan piirtää pikseli X:n ja Y:n perusteella, laskukaava on X + (Y * 320).

'näyttötila 320x200x256
SCREEN 13

'muistisegmentin määrittely
DEF SEG = &HA000

'aloitetaan piirtäminen kohdasta (100, 50)
kohta& = 100 + (50 * 320)

'piirretään valkoinen,vaakasuuntainen viiva
FOR i% = 0 TO 30
   POKE kohta& + i%, 15
NEXT

'palautetaan alkuperäinen muistisegmentti
DEF SEG

Kommentit

Dj Wolf [22.06.2002 10:48:26]

#

Tämän saa toimimaan myös SCREEN 12 vähän kikkailemalla :).

(nimetön) [25.07.2002 13:53:54]

#

Tässäkin kannattaisi käyttää kokonaislukuja liukulukujen tilalta niin nopeutuisi vielä enemmän. Eli muuttuja i => i&.

ajattelija [23.09.2002 12:04:24]

#

Tärkeä ohjelma

Tatu Peltola [22.04.2003 21:08:33]

#

Niin, miten pitää kikkailla? Jollain OUTeilla, INPeillä, POKEilla ja PEEKillä??

hunajavohveli [02.12.2003 14:33:20]

#

Saako POINT-käskylle vastaavanlaisen? Onko käskyä joka palauttaa POKE x + (y * 320):n arvon.

Antti Laaksonen [04.12.2003 14:37:47]

#

On, vastaavasti PEEK(x + (y * 320)) palauttaa pikselin värin.

hunajavohveli [04.12.2003 16:01:10]

#

Juu, tuota vähän arvelinkin, kun olin nähnyt jossain puhuttavan PEEK:istä POKE:n yhteydessä.

Puhveli [23.04.2004 14:17:44]

#

antilta aina tulee hyviä vinkkejä. mun grafiikkaohjelmista kun tuppaa yleensä tulemaan hitaita niin toi pokehomma nopeutti reilusti. suosittelen psetin sijasta

Puhveli [23.04.2004 14:21:44]

#

antilta aina tulee hyviä vinkkejä. mun grafiikkaohjelmista kun tuppaa yleensä tulemaan hitaita niin toi pokehomma nopeutti reilusti. suosittelen psetin sijasta

Dude [28.09.2007 17:54:22]

#

kohta& = 100 + (50 * 320)

pitäis olla

kohta& = 100 + (50 * 320&)

eli siis &-merkki puutuu. Syy: jos kohta on esim 319,199 tulee "overflow".

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta