Hola, les comento que tengo un problema: cuando ejecuto el juego, los sprites se ven todos distorsionados, con pixeles extras en un lado o en otro. Esto se nota aún más cuando muevo al personaje en alguna dirección.

Estuve viendo en Internet y vi que a varios les pasa lo mismo, pero lamentablemente ninguna de las soluciones que encontré me soluciono el problema. Acá dejo un ejemplo de lo que me pasa:

http://gmc.yoyogames.com/index.php?showtopic=675242

Fijense como se le agregan sprites extras donde no deberia ser asi, la verdad que hace que se vea todo muy mal.

Alguna solución?

eso pasa según la resolución del dispositivo que lo ejecute, si usas sprites más grandes, eso se disimula mejor.
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Lo estoy ejecutando en pc, no hay alguna manera de arreglarlo?

Cita de: Kain88 en Octubre 29, 2015, 09:55:13 PM
Lo estoy ejecutando en pc, no hay alguna manera de arreglarlo?
Sube tu proyecto o un proyecto similar con la misma problemática para poder echarle un vistazo

penumbra puedes verlo tú mismo, es algo que pasa siempre, crea un sprite con forma rara, ponle un movimiento MUY lento y lo verás tú mismo de qué habla xD
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Eso ocurre cuando la imagen se escala a un valor no entero y está desactivada la interpolación entre pixeles, como resultado se obtienen pixeles con formas y tamaños irregulares, esto se debe a que a que se escala con el método de "color del pixel más cercano".

Existen varios métodos para evitar artefactos desagradables al escalar las imágenes. El más común utiliza surfaces: primero se crea una surface con el tamaño de la view a escala 1:1, la escena se dibuja en esa superficie también con escala 1:1. La ventana o "port" debe ser más grande que la view. Se crea otra superficie igual al port, o más grande, cuyo tamaño sea un múltiplo entero de la primera vista. Entonces la primera superficie se dibuja en la segunda con la interpolación desactivada, para tener como resultado una imagen a escala con pixeles perfectamente cuadrados. Por último la segunda superficie se dibuja en el evento Draw de un objeto controlador con el tamaño del port y ,ahora sí, activando la interpolación.

Otro método sería utlizar un shader que realice un tipo especial de interpolación, que el color de cada pixel en la pantalla se forme con porciones de los colores de los pixeles de la imagen dependiendo de su cercanía.

Este ejemplo usa shaders para suavizar los bordes: https://marketplace.yoyogames.com/assets/1911/better-scaling, tal vez se pueda modificar para conservar los pixeles, pero mejor escalados. Aquí hay otro ejemplo: https://marketplace.yoyogames.com/assets/2382/flexi-full-scale, pero no se en qué consiste.

Gracias por las respuestas, voy a probar alguno de esos métodos a ver que pasa