tutorialgames

Foro de discusión general sobre Gemix Studio.

tutorialgames

Postby santi » Mon Mar 16, 2009 11:30 am

http://blitz-gemix.comuv.com/

Os dejo la URL de TutorialGames.Web dedicada desde hace bastantes años a tutoriales de ayuda para la programacion de videojuegos.
Despues usar bastantes lenguajes ahora solo Blitz3d y Gemix.
Saludos y hasta pronto!
santi
 
Posts: 31
Joined: Sat Nov 29, 2008 1:33 pm

Re: tutorialgames

Postby CicTec » Mon Mar 16, 2009 1:57 pm

Muy buen aporte, gracias :)
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: tutorialgames

Postby santi » Thu Mar 19, 2009 5:30 pm

Necesito que este codigo de abajo me funcione en gemix, ¿Cual es el error?
Saludos y mil gracias

PROGRAM grupos_naves;
CONST
max_trayec=1; // Numero m ximos de trayectorias
max_ani=5; // Numero de animaciones m ximas
GLOBAL
fichero1; // Gr ficos fichero1
velocidad_movim; // Velocidad de movimiento actual
grupo_actual; // Numero de grupo actual
grupo_pantalla; // Numero del grupo en pantalla
vivos[3]; // Numero de enemigos vivos en el grupo [i]
// Numero de im genes, lista de gr ficos
STRUCT animacion_enemigo[max_ani];
n_imagenes; // Numero de im genes
graficos[31]; // Lista de gr ficos
END =

16,200,201,202,203,204,205,206,207,208,209,210,211,
212,213,214,215,16 DUP(0), // Enemigo tipo 1

16,200,201,202,203,204,205,206,207,208,209,210,211,
212,213,214,215,16 DUP(0), // Enemigo tipo 1

16,200,201,202,203,204,205,206,207,208,209,210,211,
212,213,214,215,16 DUP(0), // Enemigo tipo 1

16,200,201,202,203,204,205,206,207,208,209,210,211,
212,213,214,215,16 DUP(0), // Enemigo tipo 1

16,200,201,202,203,204,205,206,207,208,209,210,211,
212,213,214,215,16 DUP(0); // Enemigo tipo 1

STRUCT trayectoria[max_trayec];
n_seccion; // Numero de secciones
x_ini; // Posici¢n inicial
y_ini;
STRUCT trayec[18]; // 19 es el numero de secciones
imagener_por_seccion;
velocidad_x; // Velocidad
velocidad_y;
aceleraci¢n_x; // Aceleraci¢n
aceleraci¢n_y;
END
END=
19,630,240,
12,0,-8,0,0, 24,0,8,0,0, // Trayectoria del enemigo final
12,0,-8,0,0, 15,-32,-15,0,1,
30,16,0,0,0, 12,0,8,0,0,
15,-32,15,0, -1,30,16,0,0,0,
12,0,-8,0,0, 30,-16,0,0,0,
30,16,0,0,0, 15,-32,15,0,-1,
24,0,-8,0,0, 30,16,0,0,0,
15,-32,15,0,-1, 30,16,0,0,0,
15,-32,-15,0,1, 12,0,8,0,0,
30,16,0,0,0,
5,630,250,
26,-15,0,0,0, 12,-12,-10,2,0, 12,15,0,0,0,
12,12,10,-2,0, 20,-15,0,-1,0, 14(0,0,0,0,0);
BEGIN
set_mode(640480); // Selecciona el modo de v¡deo

juego(); END // Jugar al juego
PROCESS enemigo(tipo_enemigo,tray,agresividad,n_grupo);
PRIVATE
n_animacion_s; // Numero de pasos en animaci¢n
animacion=0;
contador=0; // Contador de el numero de pasos en la secci¢n actual
velocidad_x; // Velocidad
velocidad_y;
aceleraci¢n_x; // Aceleraci¢n
aceleraci¢n_y;
numero_seccion=0; // Numero de secci¢n
actual_seccion=0; // Secci¢n actual
contador1=0; // Contadores generales
imagenes; // Numero de pasos en la secci¢n actual
BEGIN
region=1; // Elige regi¢n
// Selecciona el bucle de animaci¢n y el gr fico ha asignar
n_animacion_s=animacion_enemigo[tipo_enemigo].n_imagenes;
graph=animacion_enemigo[tipo_enemigo].graficos[animacion];
numero_seccion=trayectoria[tray].n_seccion;
imagenes=trayectoria[tray].trayec[actual_seccion].imagener_por_seccion;
velocidad_x=trayectoria[tray].trayec[actual_seccion].velocidad_x; // Velocidad de secci¢n x
velocidad_y=trayectoria[tray].trayec[actual_seccion].velocidad_y; // Velocidad de secci¢n y
aceleraci¢n_x=trayectoria[tray].trayec[actual_seccion].aceleraci¢n_x; // Aceleraci¢n de secci¢n x
aceleraci¢n_y=trayectoria[tray].trayec[actual_seccion].aceleraci¢n_y; // Aceleraci¢n de secci¢n y
x=trayectoria[tray].x_ini; // Selecciona las coordenadas iniciales
y=trayectoria[tray].y_ini;
vivos[n_grupo]++; // Incremento el n£mero de enemigos del grupo
LOOP // Bucle principal
IF (contador>=imagenes)
actual_seccion++;
contador=0;
IF (actual_seccion>=numero_seccion)
actual_seccion=0;
END
imagenes=trayectoria[tray].trayec[actual_seccion].imagener_por_seccion;
velocidad_x=trayectoria[tray].trayec[actual_seccion].velocidad_x; // Velocidad secci¢n x
velocidad_y=trayectoria[tray].trayec[actual_seccion].velocidad_y; // Velocidad secci¢n y
aceleraci¢n_x=trayectoria[tray].trayec[actual_seccion].aceleraci¢n_x; // Aceleraci¢n secci¢n x
aceleraci¢n_y=trayectoria[tray].trayec[actual_seccion].aceleraci¢n_y; // Aceleraci¢n secci¢n y
END
velocidad_x+=aceleraci¢n_x;
velocidad_y+=aceleraci¢n_y;
x+=velocidad_x;
y+=velocidad_y;
// Anima el gr fico
animacion++;
IF (animacion>=n_animacion_s)
animacion=0;
END
graph=animacion_enemigo[tipo_enemigo].graficos[animacion];
FRAME;
contador++;
IF ((out_region(id,1)))
vivos[n_grupo]--; // Resta un enemigo
RETURN(); // El proceso acaba, saliendo con RETURN
END
END
END
PROCESS grupo(n_grupo);
PRIVATE
n_enemigos_g; // Numero de enemigos en el grupo
contador_enemigos=0; // Contador de enemigos en el grupo
pausa_contador=1; // Contador de tiempo de espera entre enemigos
tipo_enem=0; // Tipo de enemigo
trayectoria1; // Trayectoria
pausa_enemigo; // Pausa entre enemigo
agresividad=0; // Agresividad
BEGIN
grupo_pantalla++; // Este es de otro grupo
vivos[n_grupo]=0; // Numero de enemigos vivos en el grupo
n_enemigos_g=rand(2,5); // Numero de enemigos
tipo_enem=4;
IF (tipo_enem==4) // Cuando el enemigo es una mina
trayectoria1=1; // Fija una trayectoria fija
n_enemigos_g+=3; // Haz mas minas
END
pausa_enemigo=rand(5,15);
REPEAT
pausa_contador--; // Bucle de retardo
IF (pausa_contador<=0)
enemigo(tipo_enem,trayectoria1,agresividad,n_grupo);
pausa_contador=pausa_enemigo;
contador_enemigos++;
END
FRAME;
UNTIL (contador_enemigos>n_enemigos_g)
REPEAT
FRAME;
UNTIL (vivos[n_grupo]==0) // Espera al ultimo enemigo
FRAME;
grupo_pantalla--; // Cambia de grupo
END
PROCESS juego();
PRIVATE
contador1=0; // Contador general
BEGIN
clear_screen(); // Borra la pantalla
set_fps(12,0); // Selecciona las imagenes por segundo
load_pal("grupani\nave.fpg");
fichero1=load_fpg("grupani\nave.fpg");
define_region(1,0,0,640,480); // Regi¢n en movimiento
fade_on();
FRAME;
grupo_actual=0; // Grupo actual
grupo_pantalla=0; // Grupos en pantalla
contador1=0;
LOOP
IF ((grupo_pantalla<=0))
FROM contador1=0 TO 2;
FRAME;
scroll.x0+=velocidad_movim;
END
contador1=0;
grupo(contador1); // Crea un grupo
grupo_actual++; // Incrementa el contador de grupos
END
FRAME;
END
END
santi
 
Posts: 31
Joined: Sat Nov 29, 2008 1:33 pm

Re: tutorialgames

Postby CicTec » Thu Mar 19, 2009 5:35 pm

hombre....

cualquier AYUDA va aqui:
viewforum.php?f=73

No poner posts en cualquier parte a caso, sino me toca cada vez mover y limpiar, y es solo perder el tiempo, por favor guardate el link y pon lo que necesitas como ayuda todo alli, gracias.
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm


Return to General

Who is online

Users browsing this forum: No registered users and 6 guests