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;
- ¿Cuál es el mejor instituto para iOS en Delhi / NCR?
- ¿IOS 5 mueve a Apple por delante de todos de nuevo o solo están jugando para ponerse al día?
- ¿Cuál es la razón por la que debería usar CoreData?
- ¿Existe una aplicación para compartir la pantalla de su dispositivo iOS con otro usuario de iOS?
- ¿Hay alguna forma de actualizar iOS 7.1.2 a 8 en iPhone 4?
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;