Ich versuche, Game();
wieder zu laden, wenn der Pfeil nach oben gedrückt wird, aber es wird nicht ausgeführt. Dies ist ein Teil des Codes. Immer wenn der Pfeil nach oben gedrückt wird, möchte ich nur Game();
laufen lassen und ich kann nicht herausfinden, warum es nicht ist. Ich bin ziemlich neu in der Programmierung, also könnte es nur ein einfaches Problem sein und ich bin nur dumm.C# GetKeyDown wird nicht unter Update ausgeführt
Antwort
In Ihrem Unity Editor in der oberen linken Ecke gehen Sie zu Bearbeiten> Projekteinstellungen> Eingabe. Dort finden Sie einige Achsen und Sie können neue hinzufügen, indem Sie die Variable Größe ändern oder nur eine bearbeiten. Um den Schlüssel zu ändern, bearbeiten Sie einfach die positiven Schlüssel. Negative Schlüssel werden zurückgegeben, wenn der Wert -1 und positive 1 ist. Alt ist ein alternativer Schlüssel, den Sie verwenden können, wie zB W. Für Pfeil nach oben, Pfeil nach unten, Pfeil nach rechts und Pfeil nach links. Dann in Ihrem Code anstelle von if(Input.GetKeyDown(KeyCode.UpArrow)) {}
verwenden Sie if(Input.GetAxis("AxisName")) {}
auch der Name der Achse ist empfindlich, so dass Sie Leerzeichen und Groß- oder Kleinbuchstaben verwenden müssen.
Sie machen das schwer für Sie. Ich glaube nicht, dass Sie verstehen, wie die Update
Funktion aufgerufen wird. Verwenden Sie SceneManager.GetActiveScene().name
, um den Namen der aktuellen Szene zu erhalten, dann SceneManager.LoadScene(SceneName);
zu laden Sie die Szene, wenn der Pfeil Pfeil gedrückt wird. Sie nur müssen überprüfen, ob die Pfeiltaste nach oben in der Update-Funktion gedrückt wird. Ihr Code ist redundant. Im Folgenden finden Sie eine Fehlerbehebung für Ihren Code.
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;
public class GameScript : MonoBehaviour {
public Text text;
// Update is called once per frame
void Update()
{
//Check if up key is pressed
if (Input.GetKeyDown(KeyCode.UpArrow))
{
//Call the Game() function because up key was pressed
Game();
}
}
void Game()
{
//text.text = "Is your number " + compGuess + "?\n\n Press Up Arrow for higher, Down Arrow for lower and Space for equal to.";
Debug.Log("Up Key Pressed!...Re-Loading Level");
//Get name of current scene
string currentSceneName = SceneManager.GetActiveScene().name;
//Load current Scene again
SceneManager.LoadScene(currentSceneName);
}
}
- 1. sql update nicht ausgeführt
- 2. CodeIgniter Update-Abfrage wird zweimal ausgeführt
- 3. SQL-Anweisung wird in C# nicht ausgeführt?
- 4. bind_param() wird nicht ausgeführt
- 5. DockerToolbox1.11.2.exe Wird nicht unter 64bit Win7 ausgeführt
- 6. Warum wird der TeamCity-Befehlszeilen-Runner unter "System" ausgeführt?
- 7. Warum wird meine Funktion mehrmals nach Update ausgeführt wird geladen
- 8. didReceiveRemoteNotification wird nicht ausgeführt, wenn App ausgeführt wird (FOREGROUND)
- 9. C# Anwendung nicht ausgeführt
- 10. Berechnungsausdruck wird nicht ausgeführt
- 11. geocoder.geocode() wird nicht ausgeführt
- 12. Ausnahme wird nicht ausgeführt
- 13. Alarmfunktion wird nicht ausgeführt
- 14. AsyncTask doinBackground wird nicht ausgeführt
- 15. Inner Join Update-Abfrage nicht ausgeführt
- 16. Emscripten-Anwendung wird nicht ausgeführt
- 17. Wird C# unter Linux laufen
- 18. nur eine Anweisung unter if-Anweisung ausgeführt wird
- 19. PHP-Skript wird nicht ausgeführt
- 20. PHP Redirect wird nicht ausgeführt?
- 21. Benutzerdefinierte Aktion wird nicht ausgeführt
- 22. Winkelmesser browser.sleep() wird nicht ausgeführt
- 23. Volley-Methode wird nicht ausgeführt
- 24. d3.json wird nicht ausgeführt
- 25. Layout-XML wird nicht ausgeführt
- 26. Python-Programm wird nicht ausgeführt
- 27. CMake add_custom_command wird nicht ausgeführt
- 28. JavaScript-Konstruktor wird nicht ausgeführt?
- 29. Wie "hg update" über mercurial eingehender Hook ausgeführt wird
- 30. XNA - Mouse.Left Button wird mehr als einmal in Update ausgeführt