2016-04-24 7 views
0

Ich habe ein Zeichen auf dem Bildschirm, das sich mit den angegebenen Tasten nach links und rechts bewegen kann, aber nicht nach oben gehen kann, bis das Zeichen einen bestimmten Punkt auf dem Bildschirm erreicht (eine Leiter am Ende). Sobald der Charakter diese Leiter erreicht, kann der Benutzer nach OBEN drücken, um nach oben zu klettern, während sie jedoch klettern, können sie sich auch mit den zugewiesenen Tasten nach links und rechts bewegen. Gibt es eine Möglichkeit, den linken und rechten Schlüsselbefehl in der Nähe der Leiter ungültig zu machen, nur in der Lage zu sein, nach oben zu gehen und dann die Leiter hinaufzugehen, sind die Schlüssel dann verwendbar?Wie kann ein Schlüsselcode vorübergehend gelöscht werden, wenn sich ein Objekt in einem bestimmten Bereich des Bildschirms befindet?

Antwort

0

Sie benötigen Ihren Charakter der Zustand in Variablen zu speichern und dann diese Variablen in überprüfen, ob Aussagen die richtigen Maßnahmen zu ergreifen, der aktuelle Stand gegeben.

In Ihrem Fall können Sie eine einfache boolean verwenden, die verfolgt, ob der Spieler die Leiter erklimmt oder nicht. Dann würden Sie das boolean überprüfen, wenn Sie die linken oder rechten Pfeile drücken, und den Spieler nur nach links oder rechts bewegen, wenn der Spieler ist, nicht die Leiter klettern.

Etwas wie folgt aus:

boolean climbing = false; 

void keyPressed(){ 
    if(keyCode == LEFT){ 
     if(!climbing){ 
     //move player left 
     } 
    } 
}