Skip to content

Beta

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Veröffentlichte E-Books
  • Impressum
    • Datenschutzerklärung
    • Disclaimer
  • Cookie-Richtlinie (EU)
  • Toggle search form
  • Weakless Screenshot
    Weakless Games und Lyrik
  • My Brute
    MyBrute Action
  • Mordors Schatten PS4 Cover
    Mittelerde: Mordors Schatten Games und Lyrik
  • Pssst Games und Lyrik
  • Dead by Daylight Games und Lyrik
  • The Big Adventure Event
    The Big Adventure Event Games und Lyrik
  • Der Kuss Cover
    Gedichtband „Der Kuss“ Games und Lyrik
  • Lebende Wand
    Lebende Wand Lyrik

Das Player Movement Script

Posted on 30/08/2020 By Claudia Wendt Keine Kommentare zu Das Player Movement Script

Füge zu Beginn ein Neues Script zu deiner Figur hinzu. Benenne es PlayerMovement Script. Wir benötigen zuerst einen Verweis vom Player Movement Script zum Character Controller. Es wird dem Script gesagt, das der Charakter bewegt werden soll.

Zu Beginn erstellen wir eine Variable:

public CharacterController2D controller;

Dann öffnet sich die Möglichkeit, den Character Controller in eine freie Stelle zu ziehen.

Für die Bewegung müssen die Richtung und die Geschwindigkeit der Bewegung definiert werden. Dafür benötigst du Input vom Spieler:

Linke Pfeiltaste oder A = 1

Rechte Pfeiltaste oder D = -1

Mit dem Controller ist es genauso.

horizontalMove = Input.GetAxisRaw(„Horizontal“);

Der Update-Bereich organisiert den Input vom Player.

FixedUpdate wird für die Physik genutzt. Diese Funktion wird benötigt.

Erstelle ein weitere Variabe:

float horizontalMove = 0f;

FixedUpdate bewegt den Charakter.

void FixedUpdate ()

{

controller.Move(horizontalMove, false, false);

}

Das erste false steht dafür, das der Spieler sich nicht ducken soll und das zweite dafür, das er nicht springen soll.

Im Player Controller Script wird eine Definition für Move benötigt:

public void Move(float move, bool crouch, bool jump)

{}

Als nächste Variable benötigst du:

public float runSpeed = 40f;

Das Input vom Spieler wird mit der Laufgeschwindigkeit mutipliziert:

horizontalMove = Input.GetAxisRaw(„Horizontal“) * runSpeed;

Wenn der Spieler sich nach links und rechts bewegt, liegt die Bewegung bei -40 und 40.

Die Bewegung wird zusätzlich mit Time.fixedDeltaTime multipliziert.

Time.fixedDeltaTime ist die Zeit, seit die letzte FixedUpdate-Funktion aufgerufen wurde. Dies legt fest, das die Bewegung um die gleiche Größe erfolgt, egal wie oft die Funktion aufgerufen wird. Somit ist die Geschwindigkeit vom Charakter gleich, egal um welche Systeme oder Plattformen es sich handelt.

Wenn die Spielfigur fällt, kann sie sich ein wenig in den Boden verschieben.

Deswegen wird im Rigidbody2D die Collision Detection von Discrete zu Continuous.

Für das Springen wird überprüft, ob wir die Sprungtaste betätigen oder nicht:

if (input.GetButtonDown(„Jump“))

{

jump = true;

}

Das soll auch in der FixedUpdate-Funktion geschehen. Die Übertragung der Information erfolgt mit einer boolschen Variable:

bool jump = false;

Unter FixedUpdate wird außerdem die Jump-Variable hinzugefügt.

Wenn der Jump-Button gedrückt wird, gibt das PlayerMovement-Script an den Controller weiter, das wir springen wollen. Danach wird wieder

jump = false;

Dies muss definiert werden, da wir nicht für immer weiterspringen wollen.

Ein weiteres Problem ist, das der Charakter, wenn er auf eine Plattform springen will, dort stecken bleibt. Der Charakter soll an dieser dann jedoch runterrutschen und runterfallen. Dafür wird ein Physics Material benötigt. Wähle unter Project mit der rechten Maustaste Create–> PhysicsMaterial2D

Benenne es mit Slippery. Setze Friction und Bounciness auf 0. Nimm das PhysicsMaterial und ziehe es auf das Material vom BoxCollider des Players.

Hast du für den Protagonisten mehrere Colliders festgelegt, kannst du das Physics Material auch den anderen Colliders zuweisen.

Die Tastaturbelegung definiert sich über den InputManager von Unity. Diesen findest du unter den Project Settings.

Klicke mit der rechten Maustaste auf den Jumpbutton und wähle Duplicate Array Element. Benenne es „Crouch“.

Möchten die Spieler mit Pfeiltasten Spielen, definiere einfach einen Alternative Button.

Wiederhole die Schritte vom Springen fürs Ducken:

Wenn die Taste fürs Ducken losgelassen wird, soll auch die Figur aufhören sich zu ducken. Deswegen funktioniert es nicht ganz wie das Springen. Möchten die Spieler mit Pfeiltasten spielen, definiere einfach einen Alternative Button.as Springen:

Füge in der Updatefunktion folgendes hinzu:

else if (Input.GetButtonUp(„Crouch“))

{

crouch = false;

}

Damit die entsprechenden Abschnitte im Character Controller erscheinen, musst du sie von private auf public umstellen:

Ziehe den Collider, der deaktiviert werden soll in das entsprechende Feld. Befindet sich über dir eine „Decke“ verlangsamt sich dein Charakter, wenn du die Ducken-Taste drückst.

Games und Lyrik Tags:Spieleprogrammierung, Unity

Beitragsnavigation

Previous Post: Age of Empires 1: Der Klassiker
Next Post: Einen Character Controller schreiben

Related Posts

  • The Insmouth Case
    The Insmouth Case Games und Lyrik
  • The Adventures of Pinocchio Beta Screenshot
    Die Abenteuer von Pinocchio Beta Games und Lyrik
  • Deathtrap Cover
    World of Van Helsing – Deathtrap Games und Lyrik
  • Knight Lore Games und Lyrik
  • World Games Cover
    World Games Games und Lyrik
  • Conqueror's Blade Cover
    Conqueror’s Blade Games und Lyrik

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archives

  • November 2023
  • August 2023
  • Juli 2023
  • April 2023
  • März 2023
  • Februar 2023
  • Januar 2023
  • Dezember 2022
  • November 2022
  • Oktober 2022
  • September 2022
  • August 2022
  • Juli 2022
  • Juni 2022
  • Mai 2022
  • April 2022
  • März 2022
  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Juni 2021
  • Mai 2021
  • April 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • November 2020
  • Oktober 2020
  • September 2020
  • August 2020
  • Juli 2020
  • Juni 2020

Categories

  • Action
  • Adventure
  • Adventure Escape
  • Brettspiele
  • Games und Lyrik
  • Geschicklichkeit
  • Hack and Slash
  • Horror
  • Kartenspiele
  • Liebe
  • Lyrik
  • Point-and-Click-Adventure
  • Puzzle
  • Rennspiele
  • Rogue-like
  • RPG
  • Shoot Em Up
  • Shooter
  • Simulation
  • Spieleentwickler
  • Spieleprogrammierung
  • Sport
  • Strategie
  • Survival
  • Textadventure
  • Tower-Defense
  • Uncategorized
  • Wimmelbild
  • Wirtschaftssimulation

Recent Posts

  • ProtoCorgi
  • Rosewater
  • Prim
  • Soccer Story
  • Application Systems Heidelberg

Recent Comments

  1. A WordPress Commenter zu Hello world!
  2. Rita zu Catch me!
  3. cvd zu Heart of Muriet
  4. cvd zu Heart of Muriet
  5. Gordon zu Jasper and the City of Lights
  • Directional-Light
    Grundlegendes zu Lichtformen in HDRP Spieleprogrammierung
  • GameGuru MAX Cover
    GameGuru MAX Spieleprogrammierung
  • Flucht aus Bonville Cover
    Bone – Flucht aus Boneville Adventure
  • DNA Studios Logo
    DNA Studios Spieleentwickler
  • Star Trek Timelines Enterprise
    Star Trek Timelines Games und Lyrik
  • Blue Fire Cover
    Blue Fire Action
  • Ensemblestudios
    Ensemble Studios Games und Lyrik
  • MegaMan9Boxart
    Mega Man 9: Revival of Ambition Action

Copyright © 2026 Beta.

Powered by PressBook News Dark theme