Cómo hacer que un personaje se mueva hacia la izquierda hacia arriba y hacia abajo en c ++

Modelo de entrada del usuario utilizando una arquitectura de máquina de estado:

Void Game :: handlePlayerInput (sf :: Keyboard :: Key key,
bool isPressed)
{
if (clave == sf :: Teclado :: W)
mIsMovingUp = isPressed;
si no (clave == sf :: Teclado :: S)
mIsMovingDown = isPressed;
si no (clave == sf :: Teclado :: A)
mIsMovingLeft = isPressed;
si no (clave == sf :: Teclado :: D)
mIsMovingRight = isPressed;
}

Juego vacío :: update () {
sf :: movimiento Vector2f (0.f, 0.f);
if (mIsMovingUp)
movimiento.y – = 1.f;
if (mIsMovingDown)
movimiento.y + = 1.f;
if (mIsMovingLeft)
movimiento.x – = 1.f;
if (mIsMovingRight)
movimiento.x + = 1.f;

mPlayer.move (movimiento);
}

Está bien, está bien. Sé que sería mejor usar una declaración de cambio para ambos, pero debes tener una idea general.

Para actualizar el movimiento del mouse en 2d:

sf :: Vector2i mousePosition = sf :: Mouse :: getPosition (mWindow);
sf :: Vector2i delta = mLastMousePosition – mousePosition;
mLastMousePosition = mousePosition;

#include
#include
#include
#include
usando el espacio de nombres estándar;

salida de caracteres [100] = “(leer A var: = 5)”;

/ * mi versión de mover 😉 * /
void move2 (int spos, int places)
{
para (int x = strlen (salida); x> = spos; x–)
{
salida [x + lugares] = salida [x]; / * mueve el personaje de la posición x a la posición x + lugares * /
}

para (int x = 0; x salida [x + spos] = ”; / * ahora estamos agregando espacios en blanco al comienzo * /

}

int main (nulo)
{
int i = 0;
para (i = 0; i cout << salida [i];
cout << endl;

mover2 (1, 1);
para (i = 0; i cout << salida [i];
cout << endl;

devuelve 0;
}

Atribución: cómo mover la matriz de caracteres de ciertas posiciones en C ++

Si por carácter te refieres a una cosa o persona en un videojuego, esto podría ayudar. Mueve el puntero del mouse sobre la pantalla en los sistemas Win32:

Cómo simular un movimiento del mouse

También incluye una solución para GNU / Linux usando Xlib.

Quizás te refieres a la biblioteca de maldiciones originalmente escrita por Ken Arnold para el sistema BSD. Utilizó la base de datos terminfo de UNIX para descubrir cómo mover el cursor en un terminal para moverse hacia arriba, hacia abajo, hacia la izquierda y hacia la derecha de una manera un tanto independiente del dispositivo.

Si alguna vez jugaste un juego llamado Rogue, usó la biblioteca de maldiciones para mover al personaje principal hacia arriba, abajo, izquierda y derecha en la terminal.

Actualiza sus coordenadas donde desea que estén, como lo haría en cualquier otro idioma.