Teclado
A classe que dá acesso ao estado das teclas é a sf::Keyboard. Esta contém apenas uma função,
isKeyPressed.
Essa função checa o estado atual de uma tecla. Mesmo que a janela esteja sem foco, a função funciona.if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
{
character.move(1, 0);
}
Códigos de teclas são definidos na enum
sf::Keyboard::Key
.
Mouse
A classe que dá acesso ao estado do mouse é a sf::Mouse.
if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
{
gun.fire();
}
Códigos de botões do mouse são definidos na enum
sf::Mouse::Button.
São 5 os botões: esquerdo, direito, roda e mais outros dois.
Você também obter/definir a posição atual do mouse, relativa ao desktop ou à janela.
// relativa ao desktop
sf::Vector2i globalPosition = sf::Mouse::getPosition();
// relativa à janela
sf::Vector2i localPosition = sf::Mouse::getPosition(window);
// relativa ao desktop
sf::Mouse::setPosition(sf::Vector2i(10, 50));
// relativa à janela
sf::Mouse::setPosition(sf::Vector2i(10, 50), window);
Concluindo o artigo, podemos notar que não é muito complicado trabalhar com teclado e mouse. É por isso que a SFML significa Simple and Fast Multimedia Library.
Nenhum comentário:
Postar um comentário