Kirjautuminen

Haku

Tehtävät

Koodivinkit: QB: Tummennusefekti

Kirjoittaja: Antti Laaksonen; viimeksi muokattu 11.03.2002.

Tagit: grafiikka

Monissa peleissä käytetään tummennusefektiä, eli näytön kuvaa tummennetaan hiljalleen, kunnes se lopulta on täysin musta. Sama onnistuu myös QBasicilla palettia vaihtamalla, ja tämä esimerkki näyttää, kuinka se tapahtuu käytännössä.

SCREEN 13
CIRCLE (50, 50), 20, 1
CIRCLE (130, 70), 40, 2
CIRCLE (80, 80), 60, 3
SLEEP

'tummennusefekti
FOR i = 1 TO 63
  FOR j = 1 TO 189
    OUT (&H3C7), j
    'alkuperäiset värit muuttujiin
    r = INP(&H3C9): g = INP(&H3C9): b = INP(&H3C9)
    'uusien värien laskeminen
    r = ABS(r - 1): g = ABS(g - 1): b = ABS(b - 1)
    OUT (&H3C8), j
    'uudet värit käyttöön
    OUT (&H3C9), r: OUT (&H3C9), g: OUT (&H3C9), b
  NEXT j
  PALETTE 0, 0
NEXT i

Kommentit

ajattelija [23.09.2002 12:07:09]

Lainaa #

onnistuuko muilla screeneillä?

JJKulmo [26.05.2004 20:28:48]

Lainaa #

yllättävän hyvä

gamehouse [19.10.2007 15:12:19]

Lainaa #

Entäs miten tuo saadaan toimimaan toisinpäin??

EDIT: Höh. Tuli oikosulku! Tietty STEP -1:sellä!

terrist [02.09.2018 00:09:46]

Lainaa #

QB64:lla:

Desktop = _SCREENIMAGE
MaxX = _WIDTH(Desktop)
MaxY = _HEIGHT(Desktop)
_FREEIMAGE (Desktop)
SCREEN _NEWIMAGE(MaxX, MaxY, 32)
_FULLSCREEN
FOR z = 255 TO 1 STEP -1
    GOSUB PiirraYmpyrat
    _DISPLAY
    _DELAY .01
NEXT z
END
PiirraYmpyrat:
CIRCLE (MaxX / 2, 200), 100, _RGB(z, 0, 0)
CIRCLE (MaxX / 2, MaxY / 2), 100, _RGB(0, z, 0)
CIRCLE (MaxX / 2, MaxY - 200), 100, _RGB(0, 0, z)
RETURN

Kirjoita kommentti

Muista lukea keskustelun ohjeet.
Tietoa sivustosta