Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Sprites Direct2D

Estas en el tema de Sprites Direct2D en el foro de C/C++ en Foros del Web. Hola! ¿Qué tal les va? Tengo un problema, estoy trabajando con direct2d y lo que estoy tratando de hacer es crear una animacion apartir de ...
  #1 (permalink)  
Antiguo 29/12/2010, 05:03
Avatar de dual3nigma
Colaborador
 
Fecha de Ingreso: febrero-2010
Ubicación: Ciudad de México
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 122
Sprites Direct2D

Hola! ¿Qué tal les va?

Tengo un problema, estoy trabajando con direct2d y lo que estoy tratando de hacer es crear una animacion apartir de un sprite, es decir tengo esta imagen :
y quiero que se vea la animacion de megaman corriendo, para eso tengo esta funcion por ahora:
Código C++:
Ver original
  1. void Render() {
  2.                 // Este es el desplazamiento que tendra la imagen en cada cuadro
  3.         static float actual = 2.0f;
  4.  
  5.         objetivo->BeginDraw();
  6.  
  7.         objetivo->Clear(D2D1::ColorF(D2D1::ColorF::SkyBlue));
  8.  
  9.                 // Aqui corto la imagen para que solo se vea un cuadro de 50x45
  10.         objetivo->PushAxisAlignedClip(D2D1::RectF(0.0f, 0.0f, 50.0f, 45.0f),
  11.             D2D1_ANTIALIAS_MODE_PER_PRIMITIVE);
  12.  
  13.                // Aqui dibujo la imagen desplazada de acuerdo al valor de actual
  14.         objetivo->DrawBitmap(imagen,
  15.             D2D1::RectF(-(50.0f*actual), 0.0f, imagen->GetSize().width, imagen->GetSize().height));
  16.  
  17.         objetivo->PopAxisAlignedClip();
  18.  
  19.         objetivo->EndDraw();
  20.  
  21.                 // lo reinicio
  22.         actual++;
  23.  
  24.         if(actual > 11.0f) actual = 0.0f;
  25.     }

Ahora lo que no entiendo es por que si tengo actual en 0.0f o en 1.0f toma bien el offset es decir me muestra el primer y el segundo cuadro respectivamente, pero de ahi en adelante todo se ve mal, es decir asi mas o menos:



Alguien sabe como hacer bien algo asi? (me refiero a lo de hacer animaciones con sprites) Ah y por cierto, la imagen la tengo bien dividida en 11 cuadros de 50px

Espero que me puedan ayudar!
Gracias!
  #2 (permalink)  
Antiguo 30/12/2010, 01:05
Avatar de dual3nigma
Colaborador
 
Fecha de Ingreso: febrero-2010
Ubicación: Ciudad de México
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 122
Respuesta: Sprites Direct2D

Bueno, pues la mejor solución que pude encontrar es dividir las imagenes, asi ya no tuve problemas con lo del clipping, igual se me ocurrio que con la matriz de translation, pero mejor por ahora lo dejare asi, de todas maneras si alguien pasa por aqui y sabe de algun lugar donde pueda encontrar info sobre sprites, ya sea con direct2d o opengl o directx se lo agradecere mucho.

Saludos!

Etiquetas: sprites
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:08.