Te esta quedando bien si
3 sugerencias para mejorar el todo:
1) el problema que dice Dluk sobre la resolucion es debito a que el driver de la tarjeta de video o la misma no soportan la resolucion 320x240, entonces Gemix busca otra resolucion mas cercana y centra la ventana, probocando el espacio negro de reborde, para asegurarte que pueda funcionar a pantalla completa en cualquier equipo usa el seguiente codigo:
Code: Select all
if(mode_exists(320, 240, 32)
set_mode(320, 240, 32, mode_fullscreen);
else
set_mode(320, 240, 32, mode_fullscreen, filter_scale_normal2x, filter_scale_noscale);
end
Asi funcionara bien siempre.
2) una vez que se pierda estaria bien poner un efecto de transicion tras volver al menu tipo:
3) por lo que veo sobre
COLLISION lo usas en ambos los procesos
enemigo y disparo y esto no es bueno, mejor tener una variable
local para el proceso disparo, y que collision sea hecha solo por enemigo, de la seguiente forma:
Code: Select all
local
collide;
....
process disparo(x,y)
begin
graph = 3;
repeat
y -= 16;
frame;
until(y<0 or collide)
end
process enemigo(x,x_inc,y_inc)
private
id_disparos;
begin
graph = 4;
y = -50;
size = rand(40,100);
repeat
if(contador_puntaje == 100)
contador_puntaje = 0;
vel_x_puntaje++;
end
id_disparos = collision(type disparo);
if(id_disparos)
id_disparos.collide = 1;
break;
end
x += x_inc;
y += y_inc + vel_x_puntaje;
frame;
until(y == 240)
if(y != 240)
puntos += 10;
contador_puntaje++;
from graph = 5 to 9;
frame;
end
end
end
De esta forma ganas en velocidad de ejecucion y limpieza de codigo
Animo con el juego que te esta quedando bien
