Kirjoittaja: Antti Laaksonen
Kirjoitettu: 11.03.2002 – 11.03.2002
Tagit: grafiikka, koodi näytille, vinkki
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
onnistuuko muilla screeneillä?
yllättävän hyvä
Entäs miten tuo saadaan toimimaan toisinpäin??
EDIT: Höh. Tuli oikosulku! Tietty STEP -1:sellä!
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