Buenas estoy utilizando esta funcion para una hacer una captura de mi juego, para ponerla en el menu de pausa, lo que pasa es que la captura se traslada un pixel o medio pixel por encima, alguien sabe el porque?
este es mi codigo:

- Para hacer la caputara:
spr_captura = sprite_create_from_surface(application_surface, 0, 0, surface_get_width(application_surface), surface_get_height(application_surface), true, true, 0, 0);

- Y Para dibujarla:
draw_sprite(spr_captura, 0, view_xview[0] + 0, view_yview[0] + 0);


Muchas Gracias

¿A qué te refieres con que "se traslada un pixel o medio pixel por encima"? ¿Significa que la primera fila de pixeles de la superficie no es traspasada al sprite? ¿Qué dimensiones te da el sprite creado? ¿Las mismas que la superficie?


yo creo que es porque se queda un poco borroso el sprite de la superficie

#3 Septiembre 02, 2015, 11:25:59 PM Ultima modificación: Septiembre 02, 2015, 11:27:56 PM por penumbra
Me parece que el efecto borroso y el desplazamiento que mencionas es porque estás usando true en el antepenúltimo parámetro. Esto activa la opción de suavizado, que agrega un borde semitransparente alrededor de los bordes.

Si usas
view_xview[0] + 0, view_yview[0] + 0

No es necesario indicar "+ 0" ya que al no sumarle nada, se puede omitir

Ya lo he cambiado, pero me dado cuenta que solo afecta al background y a las tiles, y no se porque

No estoy seguro, pero quizás tenga que ver con la configuración de las páginas de textura y de los fondos y tiles