martes, 22 de febrero de 2011

GLBasic: Jugando con píxeles y lineas.

Llenamos la pantalla de píxeles con colores aleatorios:

//Vamos a llenar la pantalla de píxeles
// La resolución actual 640x480


//Un bucle infinito, en realidad basta pulsar ESC para salir
WHILE TRUE
//Barremos toda la pantalla
FOR x= 0 TO 640
FOR y=0 TO 480
SETPIXEL x,y,RGB(RND(255), RND(255), RND(255))
NEXT
NEXT

SHOWSCREEN
KEYWAIT
WEND


Ponemos ahora unas cuantas rectas:

//Un bucle infinito, en realidad basta pulsar ESC para salir
WHILE TRUE
//unas 100 lineas en resol. 640x480
FOR x= 0 TO 100
DRAWLINE RND(640), RND(480), RND(640), RND(480), RGB(RND(255), RND(255),RND(255))
NEXT
SHOWSCREEN
KEYWAIT
WEND


Aprovechando la similitud entre las instrucciones que dibujan rectas y rectángulos:


//Un bucle infinito, en realidad basta pulsar ESC para salir
WHILE TRUE
//unas 100 lineas en resol. 640x480
FOR x= 0 TO 100
DRAWRECT RND(640), RND(480), RND(640), RND(480), RGB(RND(255), RND(255),RND(255))
NEXT
SHOWSCREEN
KEYWAIT
WEND


Una de las instrucciones más potentes es POLYVECTOR. Con ella podemos crear un polígono. Empezamos con la instrucción STARTPOLY y añadimos vértices con POLYVECTOR (al menos tres). Finalizamos con ENDPOLY.

//Resolución 640x480

LOADSPRITE "Block.bmp", 0
WHILE TRUE
STARTPOLY 0
POLYVECTOR RND(640), RND(480), RND(640), RND(480), RGB(RND(255), RND(255), RND(255))
POLYVECTOR RND(640), RND(480), RND(640), RND(480), RGB(RND(255), RND(255), RND(255))
POLYVECTOR RND(640), RND(480), RND(640), RND(480), RGB(RND(255), RND(255), RND(255))
POLYVECTOR RND(640), RND(480), RND(640), RND(480), RGB(RND(255), RND(255), RND(255))
ENDPOLY
SHOWSCREEN

MOUSEWAIT
WEND
END

Si no se le proporciona una imagen, realiza un degradado con los colores de cada vértice.