Inhaltsverzeichnis:
- Beispielcode für ein oberes Tastaturereignis, um lokale Kraft anzuwenden
- Beispielcode für linke und rechte Tastaturereignisse
Video: Game Maker - Jump and Run - Tutorial How to 2025
In GameMaker: Studio erhalten Sie ein für die Physik definiertes Objekt. Sie können es dem Spieler erlauben, das Objekt während des Spiels durch den Raum zu bewegen. Die folgenden zwei Abschnitte zeigen, wie Sie einem Objekt Bewegung hinzufügen und ein Objekt nach links oder rechts drehen können.
Beispielcode für ein oberes Tastaturereignis, um lokale Kraft anzuwenden
Um Kraft auf ein Objekt anzuwenden, damit es sich bewegt, erstellen Sie ein Aufwärts-Tastaturereignis wie im folgenden Verfahren beschrieben. Befolgen Sie einfach diese Schritte:
-
Doppelklicken Sie in der Ressourcenstruktur auf das obj_player-Objekt oder ein anderes relevantes Objekt.
Das Fenster Objekteigenschaften wird angezeigt.
-
Wählen Sie Ereignis hinzufügen → Tastatur → Nach oben.
Ein Aufwärts-Tastaturereignis wird im Abschnitt "Ereignisse" angezeigt.
-
Ziehen Sie eine Execute-Code-Aktion per Drag & Drop von der Registerkarte "Steuerung" in das Fenster "Aktionen".
Ein leeres Codefenster wird angezeigt.
-
Geben Sie im Codefenster den folgenden Code ein:
physics_apply_local_force (0, 0, 0, -50);
-
Klicken Sie auf das grüne Häkchen.
Das Codefenster wird gespeichert und geschlossen.
Dieser Code verwendet das lokale Koordinatensystem , um einen Vektor für den Antrieb festzulegen. Die lokalen Koordinaten basieren auf dem Sprite, wo sich die X- und Y-Achse am Ursprung treffen. Unabhängig davon, auf welche Weise das Objekt im Raum gedreht wird, ändert sich der Ursprung des Sprites niemals. Auf diese Weise wäre X = 0, Y = -1 immer knapp unter dem Sprite, wie in dieser Abbildung gezeigt.
Der erste Wert in dieser Funktion ist für xlocal, der zweite Wert ist ylocal, der dritte ist xforce_local und der letzte Wert repräsentiert yforce_local. Wenn Sie den Wert -50 als Wert für yforce_local verwenden, platzieren Sie Kraft hinter dem Schiff, das das Schiff vorwärts treibt.
Die Stärke der Kraft basiert auf dem Wert, daher legt eine größere Zahl eine größere Kraft an. Probieren Sie dies aus, indem Sie den Wert von -50 auf -5000 ändern, um zu sehen, welchen Unterschied dies macht. Wenn Sie eine positive Zahl (z. B. 50) verwenden, beachten Sie, dass sich das Schiff scheinbar rückwärts statt vorwärts bewegt.
Beispielcode für linke und rechte Tastaturereignisse
Um den Player zum Drehen des Objekts zu aktivieren, fügen Sie das linke und rechte Tastaturereignis hinzu. Gehen Sie folgendermaßen vor, um den Player das Objekt nach links zu drehen:
-
Doppelklicken Sie in der Ressourcenstruktur auf das obj_player-Objekt oder ein anderes relevantes Objekt.
Das Fenster Objekteigenschaften wird angezeigt.
-
Wählen Sie Ereignis hinzufügen → Tastatur → Links.
Ein linkes Tastaturereignis wird im Abschnitt "Ereignisse" angezeigt.
-
Ziehen Sie eine Execute-Code-Aktion per Drag & Drop von der Registerkarte "Steuerung" in das Fenster "Aktionen".
Ein leeres Codefenster wird angezeigt.
-
Geben Sie im Codefenster den folgenden Code ein:
phy_angular_velocity = 0; phy_rotation- = 10;
-
Klicken Sie auf das grüne Häkchen.
Das Codefenster wird gespeichert und geschlossen.
Während des Spiels kann der Spieler das Objekt nun nach links drehen. Dieser Code addiert oder subtrahiert die physische Drehung, die die Richtung und den Bildwinkel des Objekts steuert, wenn der Spieler die linke Pfeiltaste drückt.
Gehen Sie wie folgt vor, um den Player das Objekt nach rechts drehen zu lassen:
-
Doppelklicken Sie in der Ressourcenstruktur auf das obj_player-Objekt (oder ein anderes relevantes Objekt).
Das Fenster Objekteigenschaften wird angezeigt.
-
Wählen Sie Ereignis hinzufügen → Tastatur → Rechts.
Ein rechter Tastaturereignis wird im Abschnitt "Ereignisse" angezeigt.
-
Ziehen Sie eine Execute-Code-Aktion per Drag & Drop von der Registerkarte "Steuerung" in das Fenster "Aktionen".
Ein leeres Codefenster wird angezeigt.
-
Geben Sie im Codefenster den folgenden Code ein:
phy_angular_velocity = 0; phy_rotation + = 10;
-
Klicken Sie auf das grüne Häkchen.
Das Codefenster wird gespeichert und geschlossen. Dieser Code addiert oder subtrahiert die physische Drehung, die die Richtung und den Bildwinkel des Objekts steuert, wenn der Spieler die rechte Pfeiltaste drückt.
Sie könnten dem Objekt eine natürlichere Drehung verleihen, indem Sie physics_apply_torque verwenden, um das Objekt mit Drehmoment, zu drehen, was die Rotationskraft ist. Das Drehmoment berücksichtigt die Masse des Objekts und macht das Drehen langsamer, ähnlich wie bei einem Objekt aus dem wirklichen Leben; In einem Spiel wollen Sie jedoch nicht immer, dass es zu real ist (es ist schließlich ein Spiel).
Ein weiterer Unterschied zwischen der Physikwelt in GameMaker: Studio und den traditionellen Funktionen besteht darin, dass normalerweise die Richtung und der Bildwinkel gegen den Uhrzeigersinn berechnet werden, also würde ein Hinzufügen von 10 zur Richtungsvariablen das Objekt nach links drehen. Wenn Sie jedoch Physik verwenden, werden Richtungen und Winkel im Uhrzeigersinn berechnet. Wenn Sie dem Drehwert also 10 hinzuaddieren, wird das Objekt nach rechts gedreht.
