Verschieben eines Objekts auf Knopfdruck in Unity3d in C #

Guten Tag.

Heute werden wir über die Bewegung eines Objekts sprechen, indem wir in Unity3D eine Taste auf dem Bildschirm drücken. Dieses Thema ist sehr einfach, wird aber häufig in allen Arten von Spielen verwendet.

Lassen Sie uns zunächst ein leeres 3D-Projekt erstellen. Öffnen Sie Unity und drücken Sie die Taste in der oberen rechten Ecke mit der Aufschrift "Neu". Geben Sie im Feld "Projektname" den Namen des Projekts an. Geben Sie in der Zeile "Speicherort" den Speicherort des Projekts auf der Festplatte an. Aktivieren Sie unter dem Feld "Standort" das Kontrollkästchen "3D" und klicken Sie auf "Projekt erstellen".

Bild

Dann erstelle einen Würfel, der die Erde für uns ersetzt (GameObject-> 3D Object-> Cube). Dann machen wir es flacher und dehnen. Öffnen Sie das Fenster „Inspector“, wählen Sie unseren Würfel aus, wählen Sie im Parameter „Transform“ die Option „Scale“ x: 10, y: 0,2, z: 10. Wir sollten diese Leinwand bekommen:



Bewegen Sie nun die Kamera auf die Koordinaten x: 0, y: 5, z: 0. Dann drehen wir es um 90 Grad entlang der x-Achse. Dann müssen wir ein Objekt erstellen, das wir verschieben werden. Erstellen Sie eine Kugel (GameObject-> 3D-Objekt-> Kugel) und setzen Sie den Parameter „Position“ in „Transformieren“ auf x: 0, y: 1, z: 0. Um danach unsere Szene besser sehen zu können, suchen Sie auf der Registerkarte "Hierarchie" nach einem Objekt mit dem Namen "Richtungslicht" und setzen Sie es unter "Transformieren" auf den Parameter "Drehung" als x: 180, y: -30, z: 0. Unser Projekt sollte jetzt so aussehen:



Jetzt brauchen wir eine Schaltfläche, durch die wir bestimmen, ob wir unser Objekt verschieben möchten. Erstellen Sie zunächst einen Bildschirm, auf dem sich unsere Schaltfläche befindet (GameObject-> UI-> Canvas). Der nächste Schritt ist das Erstellen einer Schaltfläche (GameObject-> UI-> Button). Dann müssen wir ein Skript schreiben, um unsere Kugel zu bewegen. Wählen Sie im Fenster "Projekt" "Erstellen" und dort C # -Skript. Das Folgende ist der Code:

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Move : MonoBehaviour { // . public GameObject Sphere; //    . public int S; //       . public void OnButtonDown() { //     1  2. S = Random.Range(1, 2); //    S    x. Sphere.transform.Translate(S, 0, 0); } } 

Erstellen Sie zunächst eine Variable, damit sich unser Objekt bewegen kann. Die zweite Variable ist die Entfernung, über die wir das Objekt bewegen. Die öffentliche Methode „OnButtonDown“ ist für das Verschieben auf Knopfdruck verantwortlich. Zuerst setzen wir die Variable S auf 1 oder 2, danach bewegen wir das Objekt entlang der X-Achse um den S-Abstand.

Wählen Sie dann unsere Schaltfläche aus, klicken Sie im Bereich "Inspektor" ganz unten auf die Schaltfläche "Komponente hinzufügen" und wählen Sie unseren Code unter "Skripte" aus. Klicken Sie anschließend in der Komponente "Button" unten im Element "On Click ()" auf "+". Wir klicken auf das resultierende Fenster im Parameter "On Click ()" in dem Feld, in dem "None (Object)" steht. Wählen Sie darin unsere Schaltfläche. So sollte es aussehen:



Dann wählen wir in unserem Parameter "On Click ()" den Block aus, in dem "No Function" steht, darin wählen wir den Namen unseres Codes und darin die Methode "OnButtonDown ()". Nachdem die Schaltfläche konfiguriert wurde, gehen Sie zum Code. Das Fenster „Inspector“ sollte eine Komponente mit dem Namen unseres Codes anzeigen. Wählen Sie im Feld "Kugel" unsere Kugel aus. Folgendes sollten Sie bekommen:



Klicken Sie dann im Fenster "Spiel" auf "Beim Spielen maximieren". Klicken Sie nun auf die Schaltfläche zum Starten des Spiels. Unsere Schaltfläche wird auf dem Bildschirm angezeigt. Wenn Sie darauf klicken, bewegt sich unsere Kugel entlang der X-Achse.

Vor dem Klicken:



Nach dem Klicken:



Vielen Dank für das Lesen dieses Beitrags. Ich hoffe, Sie haben neue Erkenntnisse gewonnen.

Source: https://habr.com/ru/post/de437898/


All Articles