Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Error Iluminacion jugador (SOLUCIONADO)  (Leído 158 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PrismaBIT

  • Visitante
  • *
  • Puntos: 15
  • Mensajes: 4
  • Sexo: Masculino
    • Ver Perfil
    • PrismaBIT
en: Abril 04, 2020, 03:37:32 pm
Ok tengo 3 rooms con tamaños diferentes ya he solucionado el problema de los tamaños pero ahora hay otro cuando paso de una room a otra me dice el sig error
Trying to use non-existing surface.
 at gml_Object_obj_player_rojo_DrawEvent_1 (line 3) - draw_surface(surf,0,0)


en el evento create puse:
surf = surface_create(584,184);
en el evento step puse esto:
///Luz

//negro
surface_set_target(surf)
draw_set_color(c_black)
draw_rectangle(0,0,room_width,room_height,0)

//Luz
draw_set_blend_mode(bm_subtract)
draw_sprite_ext(spr_luz,0,x,y,xx,yy,0,-1,1)
draw_set_blend_mode(bm_normal)

surface_reset_target()

y en el evento draw puse esto :
draw_self()
draw_surface(surf,0,0)

Ahora nose cual sea el error se pueden ayudar se los agradezco
« última modificación: Abril 04, 2020, 04:12:37 pm por PrismaBIT »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Clamud

Respuesta #1 en: Abril 04, 2020, 03:54:33 pm
Las surfaces se borran por varios motivos. Al parecer el cambio de tamaño de la ventana es lo que causa que se borre.
Puedes hacer esto para solucionarlo. Antes de manipular la surface, comprueba que existe, si no existe crea una nueva.
if not surface_exists(surf)
surf = surface_create(584, 184);

//negro
surface_set_target(surf)
draw_set_color(c_black) // . . .

 
Los siguientes usuarios dieron las gracias a este tema: PrismaBIT