Diciembre 07, 2012, 07:25:11 PM Ultima modificación: Diciembre 11, 2012, 12:44:59 AM por ferhand
   Saludos Compañeros Makeros:


   Necesito una solución visual para el efecto que quiero lograr en mi proyecto.  :D

   Necesito colocar una imagen, textura, "sprite" con las escalas deformadas, o sea distintas de uno (1) y que dicha imagen rote sin rotar las escalas.  :-\

  Me explico un poco mejor.  :-[   Existe un espacio en la pantalla que tiene las dimensiones distintas al dibujo que se graba en ella. (Marco e Imagen) Quiero que rote la imagen dentro de dicho espacio, no que rote el espacio junto con la imagen.  (rotación en formato de GM)

No se como lograrlo en GM, tal vez álguien sepa... :-[   





Ferhand, el ícono, te dejo el tema abierto para que modifiques el mensaje, pero no se admiten nuevas respuestas hasta entonces




  Ups!  Mil disculpas...  :-[


  ...Ya está arreglado.  ;D


Lo releí varias veces pero no logré entender del todo lo que pedís... Está bastante confuso




#4 Diciembre 07, 2012, 10:30:43 PM Ultima modificación: Diciembre 07, 2012, 10:41:12 PM por penumbra
¿rote sin rotar las escalas?  ???

Tampoco le entiendo. ¿Quieres decir que cuando intentas rotar la textura, se altera su tamaño?

EDITO: Sigo sin entender.  A lo mejor lo que tienes que hacer es hacer transparente lo blanco de la imagen, para que cuando rote, las 'esquinas'  no se vean, o interfieran con el marco. O al marco le puedes dar menor profundidad, para que aparezca por encima de la imagen y las 'esquinas' queden debajo del marco y no se vean.

Pero pienso que no entendí y lo que comenté  no es lo que buscas  XD

#5 Diciembre 08, 2012, 01:57:29 AM Ultima modificación: Diciembre 08, 2012, 02:08:33 AM por ferhand
   Edito:

   Ejemplo: Si rotamos un "sprite" que tenga las escalas deformadas, estas rotan junto con él así...
[ver imagen "ejemplo sin rotar" y "ejemplo rotado"]

Si la escala fuera un marco o recuadro imaginario, la imagen rota fuera de los límites de ese marco.

Lo que necesito es que la imagen rote dentro del marco/escala en la forma en que está representado en el ejemplo "rotación.gmspr".

La idea es dar la sensación de que la imagen está dibujada sobre el suelo. Si la cámara fuera 3D podríamos rotar alrededor del centro de dicho suelo y la imagen debería rotar como el ejemplo "ejemplo rotado correcto" o en el ejemplo "rotación.gmspr". Fíjense en las zonas de colores de la imagen "ejemplo rotado correcto" como rotan al rededor de un eje imaginario como si fuera una pizza vista en perspectiva 3D.

Si no me hago entender nuevamente favor de avisar... :-[


#6 Diciembre 08, 2012, 03:37:12 AM Ultima modificación: Diciembre 08, 2012, 03:59:01 AM por Texic
Si, ahora entiendo a lo que te referís. Bueno, el efecto sucede porque primero se realiza la escala y luego la rotación, tenés que lograr cambiar el orden. Se me ocurren tres maneras, la primera y más anticuada es crear en la sprite 360 subimágenes según la rotación, entonces la escala de game maker funcionaría perfecto. La otra es crear tu propio script que escale la imágen luego de rotarla, así no usarías image_xscale e image_yscale que escalan luego de la rotación. Para hacer eso puedes crear tu propio script de escala, con draw_sprite_part, aunque consumiría muchos recursos. O puedes hacer otro script (ahora en un rato lo desarrollo y te lo traigo) que dibuje la imágen rotada en una surface, la convierta en sprite y la dibuje escalada con draw_sprite_ext. Hago un par de pruebas y te traigo los resultados :3

EDIT: Listoou, te dejo el link al ejemplo
http://dl.dropbox.com/u/18232060/ejemplo%20ferhand.gmk




Uff, esto me sirve mucho. No tenía ni idea de cómo comenzar a usar Surfaces, y con este ejemplo ya se me han aclarado el panorama. Gracias, Texic. 

Esa rotación se ve bien fluida cambiando grado a grado  ;D

¡Woa...! XD XD XD XD


  ¡Texic, estás escapa'o en GML!   XD XD XD

  Así decimos acá para designar a alguien que es conocedor de algún tema.  :D

  El ejemplo logra lo que quería, ya pensaba que era imposible en GM.

  Muchas gracias, acompañadas de los respectivos puntos.

Disculpa la tardanza, no estuve cerca de una PC por casi una semana.  ;D