Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Pikselimuodostuminen

HtH [18.02.2002 16:06:31]

#

Jos vaikka haluat vaikkapa presents tekstin muodostuvan hiljalleen sillä tavalla, että pikselit liikkuu omille paikoilleen muodostaen kuvan, niin kannatta kattoo toi koodi. Alunperin se oli "hyvää uuttavuotta" teksti, tarkotuksena vain toivottaa kaikkille koneelle tulijoille hyvää uutta vuotta. Koodi on yksinkertainen, ladataan taulukkoon pikselien nykyiset paikat, ja pikselien kohde paikat, ja sit ne hakeutuu sinne kohdepaikoille. Ainut vika on QB:n hitaus, mutta esim jos tekee PRINT komennolla jonkun tekstin tuonne, niin ei se ainakaan hidas minun 233mhz penalla ollut.

RANDOMIZE TIMER
maxpixel = 2000 'Kuinka monta pikseliä saa olla kuvassa
'Varataan muisti tämänhetkisille pikseleille
DIM pixelx(maxpixel)
DIM pixely(maxpixel)
'Varataan muisti pikseleitten kohteille
DIM pixelx1(maxpixel)
DIM pixely1(maxpixel)
DIM pixelv(maxpixel)
SCREEN 13
'Piirretään ympyrät alkuun
FOR k = 1 TO 10
CIRCLE (INT(RND * 320), INT(RND * 200)), INT(RND * 20), INT(RND * 200)
NEXT k
'Luetaan, kuva, että pikselit osaavat mennä oikeille paikoille.
FOR X = 0 TO 319
FOR Y = 0 TO 199
IF POINT(X, Y) <> 0 THEN G = G + 1: pixelx1(G) = X: pixely1(G) = Y: pixelv(G) = POINT(X, Y)
NEXT
NEXT
'Jos pikselit ylittävät maksimipikseli määrän, niin lopetetaan ohjelma.
IF G > maxpixel THEN CLS: COLOR 4: PRINT \"Ei riitä muisti!\": END
'Alustetaan muuttujat
FOR k = 1 TO G
pixelx(k) = INT(RND * 319)
pixely(k) = INT(RND * 199)
NEXT k
CLS
'Ja sitten saadaan nauttia hienosta demosta!
DO
FOR k = 1 TO G
PSET (pixelx(k), pixely(k)), 0
IF pixelx(k) > pixelx1(k) THEN pixelx(k) = pixelx(k) - 1
IF pixelx(k) < pixelx1(k) THEN pixelx(k) = pixelx(k) + 1
IF pixely(k) < pixely1(k) THEN pixely(k) = pixely(k) + 1
IF pixely(k) > pixely1(k) THEN pixely(k) = pixely(k) - 1
PSET (pixelx(k), pixely(k)), pixelv(k)
NEXT k
LOOP
'Täytyy ottaa huomioon,että koodista ei tule nopeinta mahdollista, joten
'kannattaa tehdä mahdollisimman pieni kuva.

HaRa [19.02.2002 22:22:37]

#

Sama juttu, lainausmerkki on TAAS kommenttien eessä, ottakaa pois...

Antti Laaksonen [19.02.2002 22:31:13]

#

Tuo on oikeasti hieno! Turhat lainausmerkit on poistettu.

HaRa [19.02.2002 22:51:37]

#

Lisäys tohon viimeiseen kommenttiin:
Tai ei nyt ehkä mahdollisimman pieni kuva, mutta mahdollisimman vähän muita, kuin mustia, 0 väri pikseleitä.

HtH [13.07.2002 11:57:32]

#

hohhohhoo.. kun näitä vanhoja sorsiani katson, niin niissähän on paljonkin parantamisen varaa.. ainakin interpolorointia olisin voinut käyttää... mutta minkäs teet...

Vastaus

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

Tietoa sivustosta