Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: shadowsFTW en Septiembre 20, 2014, 09:46:40 PM

Título: iluminacion
Publicado por: shadowsFTW en Septiembre 20, 2014, 09:46:40 PM
hola, veran quiero saber como puedo poner la rom en negro y hacer un efecto de linterna  que apunte segun la ubicacion del mouse pero que este este pegada al objeto_player espero haberme explicado bien

gracias  :) :)
Título: Re:iluminacion
Publicado por: penumbra en Septiembre 20, 2014, 10:09:49 PM
En Youtube hay tutoriales al respecto


Te recomiendo hacer los tutoriales de Surfaces (1 y 2) que vienen incluidos con GM:S. Ya que muchos efectos de luces en GM usan surfaces
(http://sia1.subirimagenes.net/img/2014/09/20/140920100921384493.gif)
Título: Re:iluminacion
Publicado por: shadowsFTW en Septiembre 21, 2014, 02:01:59 AM
me sirvio para el problema de la linterna, pero aun siguiendo todos los pasos sigo sin poder poner el cuarto oscuro :/
Título: Re:iluminacion
Publicado por: DustProductions en Septiembre 21, 2014, 11:53:05 AM
Ese tutorial es bastante incompleto y hace algunas cosas sin sentido.

Para empezar: Si la room es grande, no conviene crear una surface que ocupe toda la room, sino que solo la view, para ahorrar RAM y porque las operaciones graficas a veces relentizan el juego si se pone demasiadas.

Ademas, el youtuber usa las coordenadas de la view en un momento, aunque no tiene por que, ya que la imagen va por toda la room.
Tambien es que este problema tiene diferentes soluciones dependiendo de si se usan views o no.

En fin, suponiendo que usas views y tu room no es exajeradamente grande, lo ideal seria crear simplemente una surface del tamaño de la room, usando room_width y room_height para que funcione con todas las rooms, y olvidarse de las coordenadas de la view, usando simplemente las coordenadas del objeto.
Título: Re:iluminacion
Publicado por: kostra en Septiembre 21, 2014, 10:58:24 PM
o hacer una chapuza como las que hago yo, un simple sprite negro con su respectiva transparencia y la forma del cono o circulo que quieres que sea la parte que se ve, (yo abro el paint.net , pinto todo de negro con un poquiiito de transparencia y la parte que "ilumina" le paso la goma con difuminado jeje) SIEMPRE apuntando a la DERECHA, centras el origin y creas un objeto que siga al player (x =obj_player.x; y = obj_player.y;) en step y además le pones un image_angle=obj_player.image_angle;

y listo, sobretodo el sprite más grande que lo que ocupe la pantalla (room o view si usas, probablemente), no quieras ver como gira un rectangulo XD
Título: Re:iluminacion
Publicado por: shadowsFTW en Septiembre 25, 2014, 06:47:46 AM
ok les dire lo que hice (aun no puedo poner el cuarto a oscuras

cree un objeto, en el un evento
CREATE y escribi esto:
dark = surface_create (room_width,room_height);
surface_set_target(dark)
draw_clear_alpha(c_black,0)
surface_reset_target()

luego un evento step y escrbi esto:
x=obj_player.x
y=obj_player.y

luego End Step:
surface_set_target(dark)
draw_clear(c_black)
draw_set_blend_mode(bm_subtract)
draw_sprite_ext(spr_light,0,x-view_xview,y-view_yview,1,1,point_direction(x,y,mouse_x,mouse_y),c_white,1,)
surface_reset_target()
draw_set_blend_mode(bm_normal)

y por ultimo un evento draw:
draw_surface(view_xview, view_yview,dark)

lo coloco en la room pero aun asi no se ve lo oscuro :/ estoy haciendo algo  mal??  :'( :'(
Título: Re:iluminacion
Publicado por: Clamud en Septiembre 25, 2014, 06:14:10 PM
Hola.
Tal vez estás dibujando la superficie a una profundidad mayor a la de los demás objetos.
Título: Re:iluminacion
Publicado por: shadowsFTW en Septiembre 26, 2014, 02:49:17 AM
pues segui el tutorial de game maker y me decia que pusiera la depth en -5  :-\
Título: Re:iluminacion
Publicado por: shadowsFTW en Septiembre 26, 2014, 02:53:46 AM
alguien me puede pasar un proyecto de ejemplo que contenga una room oscura? seria de mucha ayuda  :) :)