Como hacer ZOOM?¿

Iniciado por prometheus48, 29 Diciembre 2011, 20:25 PM

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

prometheus48

Hola.

Estoy haciendo un juego.El juego es en 2D, y estoy utilizando C++ y SDL. Se va a ver desde arriba, y, lo que pasa es que hice una imagen que es el sitio por donde se mueve el personaje( es una isla),
pero lo que pasa es que cuando se carga la imagen, quiero hacer zomm en donde esta el juegdor y que si se va moviendo al camara le siga ¿Como puedo hacer esto?
¿Si alguien no sabe, por favor, me pueden decri algun sitio donde me lo puedan decir?
Muchas Gracias, Salu2,
y...
Feliz Navidad!
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana.
Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas"
The knowledge is free

Ferno

Lo que se me ocurre para que la cámara le siga es pintar al personaje siempre en el centro de la superficie pantalla, y en base al evento (más específicamente, para dónde movió al personaje) ir cambiando la superficie "background", en tu caso la isla, de lugar (y a gusto, cambiar el perfil del personaje supongo). Ej: Si lo movió a la izquierda, la superficie de la isla se dibujará más a la derecha y al personaje en el centro del screen SIEMPRE, esto logrará que se vea que el personaje se desplazó hacia la izquierda.

Sobre el zoom.. cuando se me ocurra algo te digo.

Espero que se haya entendido la primer parte.

prometheus48

Gracias,

La verdad, ya puedo hacer lo de que el jugador este simpre en el centro.
LO del zoom, hize una isla pintandola, con un programa a lo pixel art, y despues en SDL, la cargue, pero el problema es que puedo jugar y tal pero se ve el jugador lejísimos, no lo ves cazi y encima ves toda la isla.
Habra que ver una solución,
de verdad mychas gracias, estoy impaciente por ver la solucion del zoom
Salu2!
Feliz Navidad!
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana.
Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas"
The knowledge is free

BlackZeroX

.
Como dibujas?... en ocasiones hay esta el truco, por ejemplo en GDI32 la funcion:



BOOL BitBlt(
 __in  HDC hdcDest,
 __in  int nXDest,
 __in  int nYDest,
 __in  int nWidth,
 __in  int nHeight,
 __in  HDC hdcSrc,
 __in  int nXSrc,
 __in  int nYSrc,
 __in  DWORD dwRop
);



Para hacer un ZOOM solo hay que aumentar/disminuir las dimensiones en nWidth, nHeight...

Dulces Lunas!¡.
The Dark Shadow is my passion.

Unbr0ken

Pues yo estaba pensando en la API GetPixel() y usarla en un bucle y dibujar de la manera correcta con el resultado, pero... bueno, cada quién con sus ideas :xD.
Cita de: SnowcrashDiscutir con desconocidos por internet es un ejercicio de imbéciles; todos acaban siendo quinceañeros arrogantes con cantidades infinitas de tiempo libre.

NO resuelvo dudas vía MP, para algo está el foro.

BlackZeroX

GetPixel... no es de la SDL... ademas GetPixel es demasiado lenta...

Duces Lunas!¡.
The Dark Shadow is my passion.

Unbr0ken

Cita de: BlackZeroX (Astaroth) en 31 Diciembre 2011, 20:44 PM
GetPixel... no es de la SDL... ademas GetPixel es demasiado lenta...

Duces Lunas!¡.

Fue una opinión simplemente... y bueno, hay que admitir que sí es bastante lenta.
Cita de: SnowcrashDiscutir con desconocidos por internet es un ejercicio de imbéciles; todos acaban siendo quinceañeros arrogantes con cantidades infinitas de tiempo libre.

NO resuelvo dudas vía MP, para algo está el foro.