LINUCA
LINUCA - Asociación de Usuarios GNU/Linux en Cantabria
CONTENIDOS
. La Asociación
. ¡ Apúntate a socio !
. Fotos
. Los más leídos
. Autores [Actividad]
. Últimos Comentarios
. ¡Todos los titulares!
. Guía de Estilo
. Cómo publicar en Linuca
. Links cortos
. Lista de Correo
   [Mensajes antiguos]
   [Etiqueta en la Lista]
. Todas las Listas
. ¿Sugerencias?
. ¡Sindícanos!
Gràcies Bulma!
Esta página usa el código fuente de Bulma :-)
Busquedas

Ultimos kernels
(23/07/2014 01:56:54)
Debian
Última actualización
stable: 12/07/2014
testing: 22/07/2014
unstable: 22/07/2014
Introduccion a allegro-capitulo 1 (10062 lecturas)
Por alex
darkbios (http://)
Creado el 16/09/2002 19:52 modificado el 16/09/2002 19:52

Introduccion informal a allegro,primeros pixeles en la pantalla con allegro...

Pagina1/1

Bienvenidos a esta informal introduccion a la libreria allegro escrita
por darkbios xDD.
Allegro es mas que una libreria grafica,ademas de graficos tiene
funciones de control del teclado,el raton,sonido,midi,incluso
renderizacion de poligonos en goraud con zbuffer y 1000 chorradas mas.
Ademas es extensible como por ejemplo allegroGL que permite usar OPENGL
o jgmod para reproducir mods,xm,s3m...
Es multiplataforma,puedes crear binarios para DOS,BEOS,UNIX,LINUX y QNX.
Weno weno me voy a dejar de rollos y vamos a empezar a hacer algo.
Lo primero es instalar la libreria,en mi caso:
#apt-get install liballegro4
#apt-get install liballegro-dev
Ahora abrimos nuestro editor favorito y empezemos a meter lineas
Doy por hecho que sabeis lo basico de C asi que:

#include "allegro.h" /*cabezera que hay k poner para usar allegro :)*/
#include "stdio.h" /*pa poner los printfs :P*/
#include "math.h" /*nunca biene mal para hacer efectos con la paleta*/

El programa consistira en poner un pixel en la pantalla,diras que menuda
chorrada pero mas adelante veras como no.
allegro_init();/*iniciamos allegro*/
install_keyboard();/*ahora allegro toma el control del teclado asi k
no intenteis usar cosas como getchar o la mierda que utiliceis*/
install_timer();/*timer de allegro*/

Hasta aki se inicializa allegro ahora seccionaremos el modo grafico que
en nuestro caso va a ser el mitido !MODO 13H DE LA VGA!,con esa pedazo
de resolucion de 320x200 y 256 colores simultaneos.Ya vereis k pa lo k
vamos hacer es mas que suficiente.
probad a ver si os compila bien esto,seria lo ideal ya k se veria en
pantalla completa sin necesidad de las X
set_gfx_mode(GFX_VGA,320,200,0,0);
Si no os va arrancad las X y poneis esto
set_gfx_mode(GFX_AUTODETECT,320,200,0,0);
Se vera en una ventana de esa resolucion.
Es hora de poner el primer pixel;
pondremos
putpixel(screen,160,100,30);
el primer parametro indica donde se va a poner el pixel en nuestro caso
en screen.screen ekivale para los k ayais programado en el modo 13h a
poner cosas en la videoram,una de las caracteristicas de la
videoram es que todo lo k escribas en ella se vera reflejado en la
pantalla.Igual k en el DOS la videoram sigue siendo lenta y creabamos
las virtual screens,pero eso se vera mas adelante.Lo siguiente es la
coordenada X de donde queremos poner el pixel,he elegido la mitad de 320
lo siguiente es la cordenada Y,he elegido 100 asi tendremos el pixel en
el centro de la pantalla y el ultimo valor es el color,puedes elegir
entre 0 y 255 que son los 256 colores simultaneos k puedes tener en la
pantalla.Mas adelante explicare la paletta para k podemas seleccionar
nuestros propios colores ya que ahora estamos usando la paleta por
defecto de la BIOS;
readkey();/*lee una tecla pulsada lo usaremos como pausa*/
}END_OF_MAIN();
Los programas en allegro tienen que terminar con END_OF_MAIN(); al
final.
Asi que el programa nos queda asi

#include "allegro.h"
#include "stdio.h"
#include "math.h"
main()
{
allegro_init();
install_keyboard();
install_timer();
set_gfx_mode(GFX_AUTODETECT,320,200,0,0);
putpixel(screen,160,100,30);
readkey();
}END_OF_MAIN();

compilamos con esto
gcc -o prog prog.c `allegro-config --libs`
y ejecutamos.
BuaFFF k gran mierda pensareis.
asi k ampliare un poko el codigo

#include "allegro.h"
#include "stdio.h"
#include "math.h"
main()
{
allegro_init();
install_keyboard();
install_timer();
set_gfx_mode(GFX_AUTODETECT,320,200,0,0);
do{
putpixel(screen,rand()%320,rand()%200,rand()%255);
}while(!keypressed());

}END_OF_MAIN();

En el proximo Capitulo(si alguien le interesa cosa k dudo) paleta de
colores,double buffering y bitmaps.(Prometo ense�ar como hacer un fuego
virtual made in darkbios).
Dudas a ya sabeis quien :P.

Darkbios CORPORATION 2002.

Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
1.  Re: Introduccion a allegro-capitulo 1 (17/09/2002 16:04, #39)
  Por: Darkbios
Me retiro de la asociacion,debido principalmente al mal rollo que respiro en ella.Si hay alguien que este interesado en el mundo de la programacion grafica puede ponerse en contacto conmigo atraves de pop_ax@ono.com o en el irc en #linux_cantabria Un saludo Darkbios

 
2.  Re: Introduccion a allegro-capitulo 1 (17/09/2002 20:35, #40)
  Por: Prometeux (http://www.linuca.org)
Yo personalmente no creo k haya ningu mal rollo en la asociación y creo k la "puñalada trapera" que acabas de dar no se la merece nadie. Para hacere cosas como las que has echo aqui , apoyo completamente tu decision.

 
Calificacion
***0
Votos: 21
SECCIONES
Artículo
Truco
Noticias
Breve
Enlace
Linuca
Libros
Tira ECOL
Tira Ecol
Modificado: 31/3/2011 06:08:30 | Tiempo Total: 0.003 segs | Kernel: Linux - x86_64 - 2.6.18-xen | Last Boot: 03/12/2010 01:21 CET
Powered By WEB-Bulma   Apache   Mysql   PHP   Gimp