mehrere Funktionen hinzufügen Ich versuche, einen Knopfknoten in godot zwei verschiedene Funktionen hinzufügen. Ich möchte, dass beim Klicken eine Nachricht angezeigt wird und das Sprite, an das es angehängt ist, beim Klicken mit der rechten Maustaste verschwindet. Gibt es eine Möglichkeit, dies in gscript zu tun?gibt es eine Möglichkeit, einen Knopf Knoten in Godot
Antwort
Ich bin mir nicht sicher, ob Sie mit der Button-Klasse zwischen einem Linksklick und einem Rechtsklick unterscheiden können. Es gibt jedoch mehrere einfache Möglichkeiten, das Sprite so reagieren zu lassen, wie Sie es möchten.
Ich bin mir nicht sicher, ob Sie den Button nur als Bereich hinzugefügt haben, der nach einem Klick reagiert. Wenn dies der Fall ist, können Sie Ihrem Sprite auch eine Area2D (oder 3d) und eine Kollisionsform hinzufügen. Mit der Kollisionsform können Sie das "input_event" -Signal des Area2D-Knotens mit dem Sprite-Skript (oder dem Skript, das Sie in dieser Szene verwenden) verknüpfen. Der einfachste Weg, das Signal zu verknüpfen, ist über das Signal-Ribbon auf der unteren linken Seite des Editors.
Der Editor erstellt automatisch eine neue Funktion und Sie können Code, was Verhalten Sie wollen:
func _on_Area2D_input_event(viewport, event, shape_idx):
if event.is_action('left_click'):
print("Left click message")
elif event.is_action('right_click'):
self.hide() # hides the node which owns the script...
Bevor Sie die is_action Funktion, die Sie definieren können, um ‚left_click‘ und ‚RIGHT_CLICK‘ zur Eingangskarte unter Voreinstellungen des Editors. Im Allgemeinen ist es immer eine gute Idee, die Eingabe-Map zu verwenden, anstatt alle Tasten und Schaltflächen hart zu codieren.
Ich hoffe, dass hilft.
Mit freundlichen Grüßen und glücklich Codierung.
- 1. Gibt es eine Möglichkeit, einen Knopf zu drücken, ohne es auf tkinter/python zu berühren?
- 2. Godot, wie man einen RigidBody-Knoten und seine Kindknoten löscht?
- 3. Gibt es eine Möglichkeit, einem laufenden Hadoop-Cluster Knoten hinzuzufügen?
- 4. Gibt es eine Möglichkeit mit Helferschienen bilden einen Knopf Tag zu produzieren für einreichen
- 5. Gibt es eine Möglichkeit zum Ziehen und Ablegen von Knoten in andere Knoten in Cytoscape js?
- 6. Gibt es eine Möglichkeit, Geschwisterknoten auszuwählen?
- 7. Gibt es eine Möglichkeit, einen leeren HTML-Knoten in Elm-Html zu generieren?
- 8. Erlang: Gibt es eine Möglichkeit, geänderte Module mit Rebar in einen bereits laufenden Knoten zu laden?
- 9. Gibt es eine einfache Möglichkeit, einen Text in einem bestimmten Knoten von xml
- 10. Gibt es eine Möglichkeit, einen Radiobutton Vorlage, so dass es
- 11. Gibt es eine Möglichkeit, einen Block optional in Django Vorlage
- 12. Gibt es eine Möglichkeit, einen Unterordner in Vagrant zu synchronisieren?
- 13. Gibt es eine Möglichkeit, einen String in Flex zu forma
- 14. Gibt es eine Möglichkeit, einen AssertionError in Ava
- 15. Gibt es eine Möglichkeit, einen bedingten Typhinweis in Python anzugeben?
- 16. Gibt es eine Möglichkeit, einen Pfadverlauf in JavaFX zu erstellen?
- 17. Gibt es eine Möglichkeit, einen gelöschten Job in Jenkins wiederherzustellen?
- 18. Gibt es eine Möglichkeit, einen Stream in Java 8 wiederzuverwenden?
- 19. Gibt es eine Möglichkeit, einen Standard-Transaktionsmanager in Spring
- 20. Gibt es eine Möglichkeit, einen Rückgabewert in C++ 11 abzugleichen?
- 21. Gibt es eine Möglichkeit, einen Zweig in GIT zu sperren
- 22. Gibt es eine Möglichkeit, einen Compilator in ein Programm einzubinden?
- 23. Gibt es eine Möglichkeit, einen ganzen Absatz in Notepad ++
- 24. Gibt es eine Möglichkeit, einen Standardeigenschaftswert in Spring XML anzugeben?
- 25. Gibt es eine Möglichkeit, @Injectable() in Angular4
- 26. Gibt es eine Möglichkeit, einen Browser von einem anderen Computer mit Knoten js zu öffnen?
- 27. Gibt es eine Möglichkeit, einen Vorrang zwischen zwei ROS-Knoten zu haben?
- 28. Gibt es eine Möglichkeit, eine umgekehrte XPath-Abfrage auszuführen?
- 29. Gibt es eine Möglichkeit, eine Ausgabe in Knotenrot zu sehen?
- 30. Gibt es eine Möglichkeit Ereignishandler nicht-visuelle Klasse hinzuzufügen ich ohne Verlängerung visueller Klassen wie Knoten erstellt, Eltern, Knopf usw.
Ich denke, diese Idee würde besser funktionieren als das, was ich tat, aber die 'event.is_action' gibt einen Fehler aus, der besagt, dass sie den Bezeichner "event" nicht finden kann. Ich frage mich, ob ich eine seltsame Version von Godot habe, weil ich das in Foren gesehen habe, aber es hat nie für mich funktioniert:/ –
Es ist schwierig, das Problem zu nageln, ohne den Code zu sehen. Könntest du ein paar Schnipsel posten? Das Ereignis "Bezeichner" ist ein Argument der Funktion _on_Area2D_input_event. Wie hast du die Funktion erstellt? Haben Sie den Godot-Editor benutzt oder haben Sie einfach die Funktion in das Skript eingegeben? Wenn Sie denken, dass Sie eine schlechte Godot-Version haben, laden Sie einfach eine neue (die aktuelle Version 2.1.3) herunter und versuchen Sie es erneut. – magenulcus