El post que buscas se encuentra eliminado, pero este también te puede interesar

GameMaker Somras con movimiento en 1ª sola linea de codigo

Hola, ¿Como Estan?

Bueno Hace un rato que estuve intentando dibujar la sombra para una roca, y queria que esta se vea en diagonal y un poco alargada. asi que lo pude hacer y me di cuenta que quedaria bueno en
los personajes con movimiento. Por lo que se los voy a Compartir y se los explico.

GameMaker  Somras con movimiento en 1ª sola linea de codigo

Primero dibujamos la parte que sera la sombra
draw_sprite_ext(sprite_index,image_index,x+8,y+22,image_xscale-.1,image_yscale+.5,-145,c_black,0.1);

Este codigo, sin adaptar los valores a lo que nesecitamos, seria:


draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,
image_color,image_alpha)

Luego dibujamos al sprite principla;

draw_self()  en caso de game maker studio
y
draw_sprite(sprite_index,image_index,x,y) 
para game maker 8.1 y posteriores

el orden es importante, porque si dibujamos primero el sprite principal y luego la sombra, la sombrea se dibujara ensima del sprite principal y no tendria sentido

Bueno ahora esto lo deben adaptar a cada sprite segun su tamaño , segun su origen (x e y) segun si queremos que se vea en diagonal y hacia que lado y fijarnos si queda mejor algo alargado o del tamaño original.
Esto cambia con cada objeto. En mi caso por ejemplo, la sombra de los arboles la hice del mismo tamaño, mientras que la de la roca gigante la hice con el image_yscale+0.5 y el mage_xscale-0.1
 


sprite_index=sprite que asignamos al objeto;

image_index=sub_imagen que se dibuja
( poner solo image_index para que cambie en caso de usar sprites con movimiento)

x he y son los origenes del sprite ( fijarse si esta centrado etc... )

image_xscale=el tamaño x del sprite
( en este ejemplo use un image_xscale-0.1 para que redusca muy poquito )

image_yscale=el tamaño y del sprite
( en este ejemplo use image_yscale+0.5 para que de un aspecto alargado )

image_angel=rotacion de la imagen ( se mide por grados );
Programacion
( en este ejemplo use -145º para que se incline un poco hacia la derecha que junto con image_yscale+0.5 da la imprecion que la luz le pega desde arriva, a la izquierda
Puse -145º en lugar de 145º porque calcule mal y se me dibujo pal otro lado, y no queria estar probando. )

image_color=color de la imagen( Usen Negro porque si no  se ve algo raro prueben y se daran cuenta)

image_alpha=opacidad de la imagen ( Use 0.1 para que sea bastante trasparente )

Este es un Video con el resultado Final. Veanlo en HD para ver bien las sombras y como cambia segun los movimientos del personaje


link: https://www.youtube.com/watch?v=gs2zGXZ40U8

Si prestan atencion en las rocoas pequeñas la sombra quedo mal. eso se puede arreglar cambiando el origen x y el origen y donde se dibuja la sombra , con image_xscale reduciendo el tamaño o cambiando un poco la rotacion; Segun lo que quieran .

Bueno espero que les sea util. Quizas no sea la mejor manera de hacerlo y si alguien tiene, sabe o encuentra una forma mejor porfavor compartala, ya que las sombras son un lindo efecto grafico en los juegos

Saludos

1 comentario - GameMaker Somras con movimiento en 1ª sola linea de codigo

@BetoxR1 +1
No entendi nada, jajaja.... si despues lo puedes hacer en un video , asi vea mas detallado los pasos, te lo agradeceria. Saludos.
@Chingles
Ok