Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Nopea paletin muuttaminen

Sivun loppuun

Rykker [19.02.2002 13:33:11]

#

Tässä vinkissä esitellään QB:n nopea paletin vaihtaminen OUT käskyllä.
Näin voit myös vaihtaa yhden värin kerrallaan, ja luoda oman paletti tiedoston.
HUOM! Toimii kunnolla vain SCREEN 13!
Ensimmäinen OUT käsky on värin QB numero ja kolme seuraavaa ovat Red,Green ja Blue arvot järjestyksessä.

DIM vari AS INTEGER, c AS INTEGER
DIM r AS INTEGER, g AS INTEGER, b AS INTEGER
SCREEN 13
RANDOMIZE (-TIMER)
DO
c = c + 1
r=INT(RND*255)+1
g=INT(RND*255)+1
b=INT(RND*255)+1
OUT &H3C8, c       'Värin QB numero
OUT &H3C9, r       'Värin RED arvo 0-255
OUT &H3C9, g      'Värin GREEN arvo 0-255
OUT &H3C9, b      'Värin BLUE arvo 0-255
LOOP UNTIL c = 256

Rykker [20.02.2002 20:44:42]

#

Lainausmerkit tuli sitten itsestään tohon koodin, joten ne kannattaa poistaa, että toi toimii.

Antti Laaksonen [20.02.2002 22:03:54]

#

Nyt ne ovat poissa. Systeemissä on tunnistamaton vika, jonka vuoksi Uudet-alueella olevien vinkkien kommenttejen eteen tulee lainausmerkki. Oiva vihje muuten.

Rykker [22.02.2002 14:39:07]

#

Osa täällä kävijöistä ei varmaan edes tajua, mitä toi tekee...mutta aivan sama mulle =)

Dj Wolf [14.06.2002 23:55:21]

#

Miten se minusta vain tuntuu että se värin maksimiarvo oli QB:ssä 63 tai 64.
Jos sen yli, väri menee mustaksi.

Rykker [22.06.2002 14:35:28]

#

niin ne jotku väittää, mutta mulla tulee qb7.1 aina tonne 255 saakka eri värejä...Ja eihän ne 256 color giffin lataus rutiinitkaan olis mahdollisia, ellei qb tukisi 256 eri väriä samaan aikaan ruudulla (h-13).

En nyt muista sitten, että oliko qb:n vakiopaletissa vain tonne reiluun 60 asti värejä ja loput mustia, mutta kyllä niitä jokatapauksessa saa 256 ruudulle.

Dj Wolf [22.06.2002 20:56:50]

#

Sori, olin vähän sekava. Tarkoitin siis noita out-hommeleiden punaisuusarvoja jne. Niissä maksimi oli 63-64.
Värejähän qb:stä löytyy tietenkin 256 :)

Antti Laaksonen [22.06.2002 21:00:11]

#

Kaikissa muissa grafiikkatiloissa värejä voi olla kerrallaan korkeintaan 15 erilaista, mutta SCREEN 13:ssa maksimi on tosiaan 256.

Paulus M [25.06.2002 15:02:40]

#

Väreistä ja screeneistä puheen ollen herää kysymys:Miten saa jollakin muulla kuin screen 1 tai 0 :lla tekstin alla
olevan mustan värin pois.Siis että kirjoitus ei tee esim.siniseen taustaan
mustaa jälkeä kun käyttää PRINT komentoa.

Dj Wolf [01.07.2002 19:26:25]

#

Sehän onnistuu vaikka sinisellä taustalla näin:

COLOR 15,1:PRINT "Terve"

Eli COLOR -käskyssä ekana tekstin väri ja sitten taustan väri.
MAINOS: Grafiikkatiloissa kannattaa kokeilla tekemääni ohjelmaa "Print joka ei sotke taustaa"

thefox [21.11.2002 21:19:40]

#

Toi looppi on vähän persiistä kun se looppaa käytännössä 1-256 kun sen pitäis loopata 0-255. Ja r-g-b arvot pitää olla tosiaan väliltä 0-63.
Ja tosiaan, se ei QB:stä ole kiinni se värien määrä (Dj Wolf: "Värejähän qb:stä löytyy tietenkin 256 :)") vaan VGA:sta :)

mikarim [09.11.2003 16:13:38]

#

Tässä ei nyt ole QB:ta käytössä tällä koneella, mutta eikö ole paljon nopeampi tapa muuttaa palettia BIOSin kautta? Muistaakseni seuraava koodi hoitaa homman:

FOR I% = 0 TO 255
  P$ = P$ + CHR$(FIX(I% / 4))
NEXT I%

Inregs.AX = &H1012
Inregs.BX = &H0        'Ensimmäinen väri
Inregs.CX = &H100      'Monta väriä yhteensä
Inregs.DX = SADD(P$)
Inregs.ES = VARSEG(P$)
CALL InterruptX(&H10, Inregs, Outregs)

FOR I% = 0 TO 255
  LINE (I%, 0)-(I%, 199), I%
NEXT I%

Niin ja tietenki muista laittaa alkuun SCREEN 13 :)

Dude [12.08.2007 20:02:35]

#

Mä en oo eres tajunnu PALETTE käskyä ja tuon olis voinu teherä helepommin niin että:

FOR c = 0 TO 255
.......
NEXT

Sivun alkuun

Vastaus

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

Tietoa sivustosta