Me gustaría saber como puedo hacer una cámara que siga al jugador pero que parezca que el jugador siempre está en el centro de la pantalla. Aunque el jugador suba una montaña la cámara siempre lo muestre en el centro de la pantalla. Para evitar que los botones virtuales de correr y saltar no tapen al sprite del jugador mientras se está jugando. Algo así como en este juego: https://www.youtube.com/watch?v=J6j-8H6RBpU
Aqui unas ilustraciones de ejempo:
Así esta actualmente:
http://imgur.com/AKdNYIA
Esto quiero conseguir:
http://i62.tinypic.com/5a2tmg.png
(lo de rojo es lo que no sale en pantalla, lo que no abarca la view)
Muchas gracias y espero que me puedan ayudar.
mmm...no se me ocurren soluciones profesionales, pero mientras algún pro nos ayuda(...xD), te digo lo que se me ocurre:
pongas muchos bloques abajo y a los lados de la sala (los del suelo y paredes) para que la room sea más grande y la view pueda centrar al jugador...
no sé si me expliqué bien pero te dejo un pequeño editable de GM8 (ni no lo tienes, sólo impórtalo desde GMS...xD)
Nunca usé views pero leyendo la ayuda de game maker, y si el traductor de google no me falló xD, creo que te podría ayudar esto:
Suponiendo que la view que estás usando es la 0 (cero) define estas dos variables:
view_hbor[0] = view_wview[0] / 2;
view_vbor[0] = view_hview[0] / 2;
Aquí da justamente ese ejemplo al final del artículo:
http://docs.yoyogames.com/source/dadiospice/002_reference/windows%20and%20views/views/view_hborder.html (http://docs.yoyogames.com/source/dadiospice/002_reference/windows%20and%20views/views/view_hborder.html)
El mismo valor para hbor y vbor se puede ajustar en la configuración de la vista:
(http://i.imgur.com/g3yvzxj.png)
Dándole un valor igual a la mitad del ancho y alto de la vista, respectivamente, que es lo que hace el código que puso fasst007. obviamente que el objeto a seguir debe ser el jugador.
Olvidé decir que hay que definir que la cámara siga al jugador:
if instance_exists(obj_Player)
{
view_object[0] = obj_player;
}
Y el view_hbor[0] y view_vbor[0] definen el margen dentro del view que cuando es pisado por el jugador entonces el view debe correrse. Y como el código de mi comentario anterior (que saqué de la ayuda) ponía esos márgenes al máximo posible, es decir, a la mitad del ancho y la mitad de alto, el objeto siempre debería permanecer centrado al moverse ( si es que su posición inicial al comenzar el juego está en el centro porque si al iniciar no lo está no se si funcionaría habría que probar)
En la configuración de la vista están las 3 cosas! gracias penumbra
Gracias por sus respuestas, ahora no estoy en casa así que en cuanto llegue y las pruebe les hago saber si me funcionaron. ;)