2017-05-18 3 views
0

Ich möchte eine Fähigkeit in meinem Spiel hinzufügen, in der, wenn Sie t halten, dann werden die Feinde verlangsamt. l ove.keyboard.isDown werde ich die Feinde nicht auf ihre ursprüngliche Geschwindigkeit zurückstellen, sobald die t Taste freigegeben wurde. Ist das eine andere Art, wie ich das tun könnte?Wie man erkennt, ob ein Schlüssel in Love2d freigegeben wurde

Antwort

1

Verwenden Sie love.keyreleased.

Beachten Sie, dass es im Gegensatz zu love.keyboard.isDown eine Rückruffunktion ist. Verwenden Sie es, um die Aktion zu registrieren, wenn die Taste t freigegeben wird.

+0

Wie würde ich es so machen, kann ich nur einmal die Möglichkeit nutzen? @Yu Hao –

+0

@BenHarvey - Ersetze "escape" mit "t" im [Beispiel] (https://love2d.org/wiki/love.keyreleased) –

0

Wenn ich verstehe, ist love.keyboard.isDown ("t") für die Funktion love.update(), und es wird nur die Funktion wiederholen, egal was. so dass in diesem Fall eine Funktion wie diese in Ihrer main.lua-Datei erstellen:

function love.keypressed(k) 
    if k == "t" then 
     // Code goes in here 
    end 
end 

wie diese, soll es aktivieren, sobald die Taste gedrückt wird.

0

love.keyboard.isDown können Sie Zeit zurück legen ihre ursprüngliche Geschwindigkeit lassen, wenn Sie überprüfen, wenn es false ist, etwa so:

if love.keyboard.isDown('t') then 
    enemy_speed = 15 
else 
    enemy_speed = 30 -- 't' key has been released 
end 

aber es gibt einen anderen Weg, dies zu tun. Verwenden Sie love.keypressed und love.keyreleased, etwa so:

function love.keypressed(key) 
    if key == 't' then 
     enemy_speed = 15 
    end 
end 

function love.keyreleased(key) 
    if key == 't' then 
     enemy_speed = 30 -- 't' key has been released 
    end 
end 
Verwandte Themen