Taste Wiederholung in SFML 2.0

Gibt es eine Möglichkeit zu empfangen, wenn eine Taste wurde gerade gedrückt (nicht gehalten) in SFML oder Weise zu imitieren, um so einen Effekt?

Ich meine Umfrage-Ereignis hier,

while (window.pollEvent(event));

Und dann später in der Schleife, out of scope, aber mit den gleichen Fall, habe ich gelesen:

if (event.type == sf::Event::KeyPressed)
{
    if (event.key.code == sf::Keyboard::Up)
    {
        decision--;
        if (decision < 0)
        decision = CHARACTER_MAX - 1;
    }
}

Diese macht decision verringern kontinuierlich, wenn Sie die Pfeiltaste gedrückt gehalten wird. Mit sf::events, kann ich Lesen, wenn er das erste mal gedrückt wird und nicht, wenn er gedrückt wird?

Auch, wenn das nicht möglich ist oder Sie nicht vertraut sind mit der sfml, was wäre die beste Art und Weise zu imitieren, solche mit wenig oder gar keine globalisierte Variablen? (wie is_already_held), z.B. https://gamedev.stackexchange.com/questions/30826/action-button-only-true-once-per-press

Ich erkennen, dass ein solcher kann nur die Weise (das deklarieren einer Variablen in einem größeren Umfang) aber ich würde lieber nicht, weil ich die Ausfahrt der Umfang kontinuierlich und versuchen Sie klare lenken von globalen Variablen so oft wie möglich.

  • while (window.pollEvent(event)); beachten Sie die ; : Sie bekam immer nur die Letzte Veranstaltung nach tun.
InformationsquelleAutor James Hurley | 2013-07-26
Schreibe einen Kommentar