documentación
novedades
guía de usuario
listado de funciones
variables y constantes
componentes web
licencia
comunidad
juegos desarrollados
foro de discusión
seguir en facebook
seguir en twitter
ejemplos
primitivas y textos:
draw
write
interacción procesos:
signal
colision
advance
planos:
scroll
mode7
scene3d
reproducción audio / video:
sonidos
video
modplay
efectos:
proceso
región
scroll
juegos:
Super Paf!
Plataformas
Dr. Malvado
Pacoman
Steroid
Pitfall
Exploss
Zelda
Sokoban
Fostiator
Oh Mummy!!
Sonic SMS
Galax
Puzzle
Bricks Breaker
Helio Ball
tutoriales:
0
1
2
3
4
5
6
7
menú
documentación:
novedades
guía de usuario
listado de funciones
variables y constantes
licencia
comunidad:
juegos desarrollados
foro de discusión
seguir en facebook
seguir en twitter
ejemplos:
write
scroll
scene3d
colision
modplay
región
Super Paf!
Dr. Malvado
Pitfall
Sokoban
tutoriales:
0
1
2
3
4
5
descargas
HTML5 Game engine
Entorno de desarrollo de juegos online en HTML5
Haz clic para obtener el control del teclado
Programar a tamaño normal
Programar a tamaño completo
Recuperar PRG
Abrir archivo PRG
Guardar PRG
Buscar
Reemplazar
/* By J. Manuel Habas */ program ejemplo_salto_y_obstaculos; global fichero; local salto = false; solouno = true; begin set_title("Salto con impulso y obstaculos"); set_mode(320, 160, 2); screen_color(#47b); set_fps(30, 0); // Carga recursos fichero = load_fpg("graficos/malvado/malvado"); prota(160, 140); obstaculo(70, 120, 20, 40); obstaculo(240, 140, 60, 20); obstaculo(140, 70, 20, 20); obstaculo(300, 60, 20, 40); graph = new_map(320, 20, 160, 10, cc_green); x = 160; y = 150; text_size = 40; write(0, 160, 10, 4, "Pulsa [ESPACIO] para saltar") write(0, 160, 20, 4, "Manten más o menos tiempo pulsado para cambiar impulso") loop if (key(_esc)) exit("Amaka Soft 2020", 1); end frame; end end process prota(x, y); private animar; impulso; begin graph = 100; file = fichero; loop animar = 0; if (key(_left)) animar = 1; flags = 1; x -= 5; if (x < -10) x = 330; end end if (key(_right)) animar = 1; flags = 0; x += 5; if (x > 330) x = -10; end end if (key(_space) and not salto) impulso += 2; if (impulso > 10) salto = true; end else if (impulso > 0 and solouno) saltar(impulso, y); impulso = 0; salto = true; solouno = false; end end if (animar == 1 and not salto) graph ++; if (graph > 107) graph = 100; end end frame; end end process saltar(impulso, py); begin father.graph = 108; loop father.y += -impulso; impulso--; if (father.y > py) father.y = py; father.graph = 100; father.salto = false; father.solouno = true; break; end frame; end end process obstaculo(x, y, ancho, alto) private id_prota; centro_x = round(ancho / 2); centro_y = round(alto / 2); begin graph = new_map(ancho, alto, centro_x, centro_y, cc_brown); z = 50; loop //al colisionar prota con obstaculo //lo posiciona en el lateral mas proximo id_prota = collision(type prota); if (id_prota.x >= x) id_prota.x = (x + centro_x) + 10; end if (id_prota.x <= x) id_prota.x = (x - centro_x) - 10; end frame; end end
+
Tamaño Código:
Compilar Código
Compilando...