Hola amigos, antes que nada gracias de antemano. Estoy atrapado en un juego donde necesito dibujar un fondo por debajo de un path, o sea, el juego es un pequeño vehículo que avanza de izquierda a derecha por un suelo irregular realizado en un path, lo que necesito hacer y no encuentro la forma es que por encima de ese camino quede el cielo y por debajo la tierra. Saludos!
Dibuja el piso con primitivas, con un script como este:
[gml]
var a, b; //inicio, fin
a = floor( view_xview[0] / 16 );
b = ceil( (view_xview[0]+view_wview[0]) / 16 );
draw_set_color( c_white );
draw_primitive_begin( pr_trianglestrip );
for( i=a; i<=b; i+=1 )
{
draw_vertex_color( i*16, room_height+1, c_white,1 );
draw_vertex_color( i*16, path_get_point_y(argument0,i), c_white,1 );
}
draw_primitive_end();
draw_set_color( c_ltgray );
draw_primitive_begin( pr_linestrip );
for( i=a; i<=b; i+=1 )
{
draw_vertex( i*16, path_get_point_y(argument0,i) );
}
draw_primitive_end();
[/gml]
Esta es la path
(http://i.imgur.com/FEv1PKa.png)
Y este es el resultado
(http://i.imgur.com/GCIDYFm.png)
En el script, la altura del piso se obtiene de los vértices de la path, si quieres dibujar una path suavizada, entonces la lectura se debe hacer en puntos más cercanos. Puedes usar primitivas con textura para darle más detalles al terreno.
Hola, gracias por la respuesta! la verdad es que no logro entenderlo aun porque mis conocimientos en este tema son realmente básicos, lo primero que hice es copiar eso en un objeto en el evento DRAW pero claramente no es la forma, entiendo por lo que me dices que va en un script. Te pido si me puedes decir como implementarlo, el path ya lo tengo, o sea, el coche se mueve por una linea, gracias!
Por cierto, al ponerlo en el evento DRAW y cambiar el argumento por el nombre de mi path se dibuja todo el fondo blanco.
He pensado en varios métodos para texturizar el terreno, pero sería mejor si mostraras la path y el background (textura).