Charakter Bewegung in Unity 2D | tutorial german
Vložit
- čas přidán 27. 08. 2024
- In diesem Video soll es um die Bewegung des Charakters gehen. Ich hoffe ich kann dir mit diesem Video helfen und du schaltest beim nächsten mal auch wider ein, wenn es um die Charakter-animation geht :)
Character-Controller: bit.ly/2MQAkmu
Credits: / @brackeys
--------------------------------------------------------------------------------------------------------------------------
Twitter: / breax12
Patreon: / breax
Ich finde das richtig gut, dass du auch das was nicht funktioniert bewusst drin lässt und das ganze nicht poliert durchhetzt. Das ist authentisch und genau so wird das programmieren in der Praxis aussehen. Weitermachen!
so ein müll !!!
@@lost_noobniklas7209 Warum?
@@lost_noobniklas7209 Frag ich mich auch *Warum?*
@@lost_noobniklas7209 ne
@@lost_noobniklas7209 FN kid
Für alle bei den die Datei nicht mit Unity funktioniert!!!
Ändert die datei von
CharacterController2D
Zu
CharacterController2D.cs
Die dateiendung muss korrigiert werden.
Du bist mein Held!
Danke!
Ich habe dennoch eine fehlermeldung wenn ich die datei ins Programm einfügen möchte
@@maxmsz6003Mach eine eigene Datei und kopiere den Text /Code rein.
DANKE !!
Wenn du schon meinst, die Arbeit von anderen klauen zu müssen, dann hättest du doch wenigstens die originale GitHub-Seite von Brackeys verlinken können, anstatt sein Script als dein eigenes auszugeben. Und wenn du schon klaust, dann lade doch wenigstens sein Script *richtig* auf deine Seite hoch. Eine Datei ohne .cs Erweiterung wird niemals funktionieren.
Außerdem könntest du doch bestimmt mal die Fragen von allen hier Beantworten, nicht?
brauche hilfe
using System.Collections;
using System.Collections.Generic;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovment : MonoBehaviour
{
public CharacterController2D controller;
public float runSpeed = 40f;
float horizontaleMove = 0f;
bool jump = false;
void Update() {
horizontaleMove = Input.GetAxisRaw("Horizontal") * runSpeed;
if (input.GetButtonDown("jump"))
{
jump = true;
}
]
void FixedUpdate()
{
controller.Move(horizontalMove * Time.fixedDeltaTime, false, false);
jump = false;
{
}
}
hier ist ein fehler drin kennst du dich aus
Was muss ich machen wenn ich auf den Link in der Beschreibung geklickt habe?
@@sfdfsadaw2653 verstehe es auch nicht, kannst du es jetzt?
Thanks
Kennst du dich gut aus? Ich habe ein Problem, das springen klappt nicht.
Richtig gutes Tutorial
Heute von 13.00-18.00 Uhr begonnen, jetzt wieder um 00.00 Uhr weitergeführt. Deine Tutorials helfen echt weiter! Schade, dass du seit sechs Monaten kein Video genracht hast
Danke man geile Tutorials!!
Wie kann man den Character-Controller downloaden?
@Apfelsaft gut und günstig Nein Da ist nix
Wo kann man die Datei downloaden? Ich finde das leider nicht...
3 Jahre alt und immernoch sehr hilfreich - vielen Dank :)
Das ist der Code:
using UnityEngine;
using UnityEngine.Events;
public class CharacterController2D : MonoBehaviour
{
[SerializeField] private float m_JumpForce = 400f; // Amount of force added when the player jumps.
[Range(0, 1)] [SerializeField] private float m_CrouchSpeed = .36f; // Amount of maxSpeed applied to crouching movement. 1 = 100%
[Range(0, .3f)] [SerializeField] private float m_MovementSmoothing = .05f; // How much to smooth out the movement
[SerializeField] private bool m_AirControl = false; // Whether or not a player can steer while jumping;
[SerializeField] private LayerMask m_WhatIsGround; // A mask determining what is ground to the character
[SerializeField] private Transform m_GroundCheck; // A position marking where to check if the player is grounded.
[SerializeField] private Transform m_CeilingCheck; // A position marking where to check for ceilings
[SerializeField] private Collider2D m_CrouchDisableCollider; // A collider that will be disabled when crouching
const float k_GroundedRadius = .2f; // Radius of the overlap circle to determine if grounded
private bool m_Grounded; // Whether or not the player is grounded.
const float k_CeilingRadius = .2f; // Radius of the overlap circle to determine if the player can stand up
private Rigidbody2D m_Rigidbody2D;
private bool m_FacingRight = true; // For determining which way the player is currently facing.
private Vector3 m_Velocity = Vector3.zero;
[Header("Events")]
[Space]
public UnityEvent OnLandEvent;
[System.Serializable]
public class BoolEvent : UnityEvent { }
public BoolEvent OnCrouchEvent;
private bool m_wasCrouching = false;
private void Awake()
{
m_Rigidbody2D = GetComponent();
if (OnLandEvent == null)
OnLandEvent = new UnityEvent();
if (OnCrouchEvent == null)
OnCrouchEvent = new BoolEvent();
}
private void FixedUpdate()
{
bool wasGrounded = m_Grounded;
m_Grounded = false;
// The player is grounded if a circlecast to the groundcheck position hits anything designated as ground
// This can be done using layers instead but Sample Assets will not overwrite your project settings.
Collider2D[] colliders = Physics2D.OverlapCircleAll(m_GroundCheck.position, k_GroundedRadius, m_WhatIsGround);
for (int i = 0; i < colliders.Length; i++)
{
if (colliders[i].gameObject != gameObject)
{
m_Grounded = true;
if (!wasGrounded)
OnLandEvent.Invoke();
}
}
}
public void Move(float move, bool crouch, bool jump)
{
// If crouching, check to see if the character can stand up
if (!crouch)
{
// If the character has a ceiling preventing them from standing up, keep them crouching
if (Physics2D.OverlapCircle(m_CeilingCheck.position, k_CeilingRadius, m_WhatIsGround))
{
crouch = true;
}
}
//only control the player if grounded or airControl is turned on
if (m_Grounded || m_AirControl)
{
// If crouching
if (crouch)
{
if (!m_wasCrouching)
{
m_wasCrouching = true;
OnCrouchEvent.Invoke(true);
}
// Reduce the speed by the crouchSpeed multiplier
move *= m_CrouchSpeed;
// Disable one of the colliders when crouching
if (m_CrouchDisableCollider != null)
m_CrouchDisableCollider.enabled = false;
} else
{
// Enable the collider when not crouching
if (m_CrouchDisableCollider != null)
m_CrouchDisableCollider.enabled = true;
if (m_wasCrouching)
{
m_wasCrouching = false;
OnCrouchEvent.Invoke(false);
}
}
// Move the character by finding the target velocity
Vector3 targetVelocity = new Vector2(move * 10f, m_Rigidbody2D.velocity.y);
// And then smoothing it out and applying it to the character
m_Rigidbody2D.velocity = Vector3.SmoothDamp(m_Rigidbody2D.velocity, targetVelocity, ref m_Velocity, m_MovementSmoothing);
// If the input is moving the player right and the player is facing left...
if (move > 0 && !m_FacingRight)
{
// ... flip the player.
Flip();
}
// Otherwise if the input is moving the player left and the player is facing right...
else if (move < 0 && m_FacingRight)
{
// ... flip the player.
Flip();
}
}
// If the player should jump...
if (m_Grounded && jump)
{
// Add a vertical force to the player.
m_Grounded = false;
m_Rigidbody2D.AddForce(new Vector2(0f, m_JumpForce));
}
}
private void Flip()
{
// Switch the way the player is labelled as facing.
m_FacingRight = !m_FacingRight;
// Multiply the player's x local scale by -1.
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
Hast du das selber geschrieben
wo füg ich den ein?
@@positivetrading4861 frag ich mich halt auch
@@Oldladywithastick In den normalen Editor einfügen und als CharacterController2D.cs speichern.
Diese Datei dann mit Unity auf den Player ziehen.
@@omg_361 und man brauch kein anderes Script? Also wenn ich das gemacht habe kann ich mich bewegen?
Bei mir Funktioniert das noch nicht so ganz :
Ich habe das Player "Movement (Script)" genau abgeschrieben aber ich kann meinen Character noch nicht bewegen :( und hab auch sont alle Anweisungen befolgt.
Woran liegt das?
funkzioniert bei mir auch nicht
@@rzn5477 Bei mir ist der Fehler jetzt weg. Villeich weil ich die einstellungen Geändert hab wie es Breax 22:25 gemacht hat. Nur das du ansdatt auf "Jump" auf "Horizontal" gehst. Dort kannst du " Negativ Button : left" und "Positive Button : right" auswählen. Wenn das nicht der Fehler war kann ich dir leider nicht weiter Helfen.
war bei mir schon eingestellt aber ich komme bei czcams.com/video/_TRAqS15RPs/video.html 17:50 nicht weiter. bei mir erscheint nicht das was bei ihm erscheint sondern es geschieht nichts
könntest du mir das schicken was du geschrieben hast zwischen 12:17-17:50 wäre extrem nett
@@rzn5477 Ah das war bei mir auch erst. Ich schick dir mal mein Scipt. da ist aber das mit dem Jump schon drin :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public CharacterController2D controller;
public Animator animator;
public float runSpeed = 40f;
float horizontalMove = 0f;
bool jump = false;
bool crouch = false;
void Update(){
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
animator.SetFloat("Speed" , Mathf.Abs(horizontalMove));
if (Input.GetButtonDown("Jump"))
{
jump = true;
animator .SetBool("IsJumping" , true);
}
if (Input.GetButtonDown("crouch"))
{
crouch = true;
} else if (Input.GetButtonUp("crouch"))
{
crouch = false;
}
}
public void Onlanding()
{
animator.SetBool("IsJumping",false);
}
public void OnCrouching (bool IsCrouching)
{
animator.SetBool("IsCrouching" ,IsCrouching);
}
void FixedUpdate ()
{
controller.Move(horizontalMove * Time.fixedDeltaTime, crouch,jump);
jump = false;
}
}
Villeicht hilft das.
danke
hi habe noch ne frage
mein player croucht wenn er einen box collider berührt aber z.b; bei leitern oder checkpoints soll er dies nicht!
Hab darauf gewartet super video! ;)
Edit: kann ich zwar grad nicht angucken aber nach der schule ez
Wie kann man controller 2d runter laden?
auf den link gehen und copy paste
bei mir funktioniert es auch nicht und wohin sollte man das pasten?
github.com/TherealBreax/2D-Game.git
@@o3oBen der link geht nicht
@@benmuller7738 Ja, das verstehe ich auch nicht...
Leider geklaut, ziemlich schlecht erklärt und so getan, als ob du das Ganze machst.
Z.B. 17:20 - "Jetzt muss ich selber mal überlegen, weil das schon relativ kompliziert ist.": Ist klar, komischerweise ist das genau der gleiche Code, wie aus dem unten verlinkten Video. Das ist einfach nur peinlich.
An alle, die auch wirklich was professionelleres sehen wollen mal das originale Video: czcams.com/video/dwcT-Dch0bA/video.html
Hi...nachdem du aus dem editor raus bist hattest du bei unity unter dem playermovement component irgendwie Run Speed und so nen (None) Character Controller 2D angezeigt bekommen...aber als ich raus bin habe ich mich schon gewundert und versuchte das Game zu starten, aber diese Meldung kam dann: "All compiler errors have to be fixed before you can enter playmode!" ich bin verzweifelt und weiss echt nicht weiter :( bitte hilf mir simon :(
Gutes tutorial. Hast mein abbo!!
Super erklärt bester mann lieben wir
Hey, ich habe ein Problem da steht Assets/PlayerMovement.cs(23,13): Error CS0103: The Name "Input" does not exist in the current context was soll ich tun?
Mein Character kann sich nicht nach Rechts oder Links Bewegen
"ArgumentException: Input Axis horizontal is not setup.
To change the input settings use: Edit -> Settings -> Input
PlayerMovement.Update () (at Assets/PlayerMovement.cs:16)"
Das ist der Fehler! Kann wer helfen?
Deine qualität ist echt gut und dein Tutorilal ebenfalls.
( :
Vielen Dank! :)
Für die ganz faulen unter euch:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour{
public CharacterController2D controller;
public float runSpeed = 40f;
float horizontalMove = 0f;
void Update(){
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
}
void FixedUpdate (){
controller.Move(horizontalMove * Time.fixedDeltaTime, false,false);
}
}
Danke :)
du hast mein Spiel gerettet danke es war ein Fehler in code und dann habe ich bei dir copy,paste gemacht danke (:
Bei mir geht das PlayerMovement script nicht
🤦♂️
Erstell win
Ein
@@DireRavens Bei mir auch nicht
@@DireRavens mein code:
Ich benutze auch Atom
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour{
public CharacterController2D controller;
public float runSpeed = 40f;
float horizontalMove = 0f;
void Update(){
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
}
void FixedUpdate (){
controller.Move(horizontal * Time.fixedDeltaTime, false, false);
}
}
Hat bei mir nicht funktioniert(der code für das playermovement), ich weiß nicht qoran es liegt
Bei mir wird eine Fehlermeldung angezeigt wenn ich den character controller in die Figur schiebe dass er nicht eingefügt werden kann weil die Datei vielleicht falsch ist
Vielen Dank!! Tolles Video!
Hey! Ich habe alles was du gemacht hast Gemacht und unten ist Kein fehler Meldung oder soo. Mein Charackter Springt und läuft nicht kannst du mir bitte helfen.
Hi Arda, schau dir Minute 20 nochmal an.
@@buildworldswithme Hat sich gelöst, Danke!
Ich habe den code fürs laufen mehrmals kontrolliert, aber mein Character läuft einfach nicht. kann mir irgendwer helfen?
frag der comunity
@@kamilheitkamp1053 wow, sehr hilfreich xD
Maybe ; vergessen woher sollen wir das wissen
Mache am Ende vom Namen der Datei noch ein .cs hin
also das hat bei uns gut funktioniert
also du brauchst ein 2DRigidbody und einen 2DBoxCollider und stelle sicher dass das script "Character2DController" heißt.
using UnityEngine;
public class Character2DController : MonoBehaviour
{
public float MovementSpeed = 1;
public float JumpForce = 1;
public Animator animator;
private bool facingRight;
private Rigidbody2D _rigidbody;
void Start()
{
facingRight = true;
_rigidbody = GetComponent();
}
void Update()
{
if (Input.GetAxis("Horizontal") < 0)
{
transform.localScale = new Vector2 (-1.5f, transform.localScale.y);
}
if (Input.GetAxis("Horizontal") > 0)
{
transform.localScale = new Vector2(1.5f, transform.localScale.y);
}
var movement = Input.GetAxis("Horizontal");
transform.position += new Vector3(movement, 0, 0) * Time.deltaTime * MovementSpeed;
animator.SetFloat("Movement Speed", Mathf.Abs(movement));
{
}
if ((Input.GetKeyDown(KeyCode.UpArrow) || Input.GetKeyDown(KeyCode.W) || Input.GetButtonDown("Jump")) && Mathf.Abs(_rigidbody.velocity.y) < 0.001f)
{
_rigidbody.AddForce(new Vector2(0, JumpForce), ForceMode2D.Impulse);
}
}
}
Hallo, finde das Video gut hab allerdings ein Problem :" error CS0246: The type or namespace name 'UnityEvent' could not be found (are you missing a using directive or an assembly reference?)" das ist die Anzeige. Was muss ich bei UnityEvent ändern damit es funktioniert?
Du bist echt der beste
Sympatisch und lehrreich (:🔥
Ich Programmiere ja eine App (Level spiel) und ich kenne mich ja überhaupt nicht mit Coden aus aber mit deinen
Videos klappt das echt sehr sehr gut ;-)
hey ich verstehe nicht wie man das script jetzt auf einmal wieder in Unity hat wäre über eine Antwort dankbar
hi cooles video. bei mir kann ich nicht denn script in unity einfügen weil da rechtschreib feheler sind also dieses rote unter das wort
Bei mir klappt das Player movement Script nicht ich habe die Code Zeilen alle gleich aber in Unity passiert nix
ey echt sehr gut wie du es erklärst, mach weiter so du hilfst mir mega gut.
Hilfe immer wen ich das movement reinziehe dan kommt eine Fehler Meldung das Units es nicht hatt bitte antwortet wenn ich wisst warum
Bei mir auch
Weil vlt du dasscript anders genannt hast und es im script es noch nicht umgenannt hast
könntest Sie mir noch die Datei als PDF in die Videobeschreibung schicken
Also ich meine dass Programm was Sie programmiert haben
Cooles Video!
Ich habe den im video gezeigten code (PlayerMovement) 1 zu 1 abgetippt, doch es ist der Fehler ,,error CS1519: Invalid token 'float' in class, record, struct, or interface member declaration" Aufgekommen, weiß vllt. jemand woran das liegen könnte
Ich habe den Script genauso geschrieben wie im Video aber bei mir steht nichts mit controller oder Run Speed
Ja bei mir auch
@@alfmelmak1840 Vielleicht n semikolon vergessen ? war bei mir so
@@nougatlippe1673 wo muss man das schreiben
@@greenskill1709 Je nachdem wo du den Fehler gemacht hast, ich habs abgeschrieben und mich vertippt
@@greenskill1709 Grundsätzlich am Ende einer Zeile, das der Compiler weiß, dort ist der aktuelle Code zu Ende.
Leider funktioniert bei mir der Import des Scripts gar nicht.
Ich bekomme folgenden Fehler
Failed copying file 2D-Game-master/CharacterController2D to Assets/Sunnyland/artwork/Sprites/player/idle/CharacterController2D.
UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Eine Frage wie ist es möglich touch input buttons für das Handy noch einzufügen indem man event trigger verwendet?
Hey, ich habe die Bewegungen genau so gemacht wie du. Habe das Gefühl, dass mein Spieler immer ein bisschen hängt, also keine wirklich smoothe Bewegung. Wie kann ich das ändern?
Könntest du führleicht noch mal ein Vidio dazu machen wo du erklärst wie man die Datei in Unity beckommt? Wäre nice. Weil ich glaube ich bin nicht der einzige der das nicht verstanden hat. (-:
Ich glaube das Script ist veraltet
Beim playermovement ahb ich alles so gemacht wie es soll aber in unity steht da nichts von playerspeed oder controller nur script playermovement1
Was habt ihr gemacht
@@chaotus Idk ist länger her hab jz das anders gemacht :)
Hey,
keine Ahnung was ich falsch mache, ich habe alles ganz genauso wie du gemacht aber mein Player will einfach nicht springen, ich bin ein wenig am verzweifeln... :/
Hallo ich habe das selbe Problem, weißt du mittlerweile wie man es behebt
kann mir hjemand helfen bei den controller 2d ich habe die datei und füge sie auch ein,aber ich kann sie nicht in den Inspector kopieren
bei mir auch so
Ich kann's dir zeigen
Hast du dc oder ts
@@fabian_waehner hast du discord
Hast du die Dateiendung auf .cs angepasst?
Bei mir funkionirt die steuerungs datei nicht
Bei mir auch nicht.
Danke für die Tutorials 👍
wie gehen denn die streifen weg
garnich
Musst net 16 sondern 15
Nice danke für die ganzen Tutorials. 😀
Assets\PlayerMovement.cs(9,12): error CS1519: Invalid token 'float' in class, struct, or interface member declaration das steht bei mir
Mein Player jumped nicht kannst du mir vielleicht sagen warum?
Hatt es bei dir geklpat zu laufen weil bei mir geht das net oder was soll ich einstellen?
sehr gut gemacht
sobald ich jump hinzufüge kann ich nicht mehr laufen und auch nicht springen woran liegt das?
Also wenn ich den Character Controller 2D Script hinzufüge funktioniert noch alles super aber sobald ich dann das PlayerMovement Script einfüge funktioniert es bei mir nicht mehr. Bitte um hilfe :/
same
bei mir funktioniert das nicht, nachdem ich das umgeschrieben habe kommt bei mit nicht das Menü und ich habe alles genau so wie du
Bei mir erschent kein runspeed und nichts
Wie speichert man das in 17:48... weil bei mir funktionierts irgendwie nicht
Ich brauch ma deine Hilfe. Als ich das Script geschrieben habe und es gespeichert habe kann ich in Unity nix verändern. Ich habe schon alles nachgeprüft doch es hilft nix Wäre schon wenn du mir Antworten könntest lg
hat sich erledigt hab ein t klein geschrieben xD
@Breax Kannst du den code von PlayerMovement.cs uns geben (zb auf Hastebin)
Das was er eingegeben hat, denn PlayerMovement code ist falsch !!
@@creeplays2799 Was ist denn falsch daran?
@@JMANTHEGERMAN sorry war mein fehler hab tipp fehler gemacht war woll zu vorlaut sorry
@@creeplays2799 Ok
CreeLaser Was ist am Code falsch? Please Ich brauche hilfe
Mein Character Controller Funtoiniert nicht da steht nicht mal ein "#C" drauf!
Die lösung ist einfach du benennst die Endung um auf ".cs " dann wird es als C# Script von Unity annerkannt
@@npcgamer23456 oh das problem hab ich schon gelöst ich schreibe einfach das ganze script selber
@@npcgamer23456 wo ist die Endung
@@benvonluka5550 Da = .cs
Ich jabe das Script 1 zu 1 übernommen aber bei mir kommt der Fewhler NullReferenceException: Object reference not set to an instance of an object
playermovement.FixedUpdate () (at Assets/playermovement.cs:18) Kann wer helfe ?
Echt gutes Video! Danke für die Hilfe das macht den einstieg wesentlich einfacher
Bei mir bewegt sich garnichts. Habe alles genauso so gemacht wie du aber nichts passiert. Liegt das vielleicht an Visual Studio?
Fehlermeldung wenn ich das Spiel starte nachdem ich die Codes eingegeben habe: NullReferenceException: Object reference not set to an instance of an object
wo kann man dieses 2d controll herunter laden
Mein charakter rollt irgendwie. ich denke dass liegt am Collider Circle. kann ich dass rotating austellen ?
Ich habe noch eine Frage; ist es möglich im Input Manager ctrl/Strg als eingabe zu nutzen und wenn ja wie?
woher bekommt man den Charakter Controler?
Video beschreibung
Link klicken
Strg+c
Strg+v
Das Script funktioniert bei mir nicht
Ich verstehe nicht genau wie man das Skript Herunter laden soll, Ich habs mehrmals versucht hat aber nicht geklappt, es wäre extrem hilfreich wenn mir jemand erklären könnte wie das ganze funktioniert
sehr cooles und gutes tutorial!! hasst auch eine sehr angehneme Stimme!! Du hilfst mir sehr weiter danke und mach weiter so
haben bei die die scripts funktioniert?
bei mir hat das PlayerMovemants Skript nicht funktioniert irgendwelche Tipps
Ich kann den Skript nicht auf den linken Display von meinem Spieler ziehen bitte helfen!
Wenn ich das Spiel starte dann komm ich nicht mal in die Game view
Ich kann die helfen
@@moontimer wie
wenn ich den Character-Controller bei 3:54 in "Player" > "idle" reinziehe, sieht die datei ganz anders aus und lässt sich auch nicht in den inspector ziehen (4:15)
Edit: Wird auch nichts angezeigt wenn ich so wie bei 4:05 auf den Character-Controller gehe
Hilfe wäre sehr nett.
@@iqarus2567 same
@@iqarus2567 Danke!
cooles video :) Credits gehen aber an Brackeys
was für ne dateiendung hat denn die controller datei?
.cs
was muss ich bei dieser Fehlermeldung machen?: Assets\Sunnyland\artwork\Sprites\player\idle\CharacterController2D.cs(1,2): error CS1022: Type or namespace definition, or end-of-file expected
Geh einmal zurüch in dein Script zur Bearbeitung und drücke in jeder Reihe einmal Espace und wieder Delete. Dann wieder speichern. Bei mir war das auch. Denn wenn du etwas im Script änderst und wieder speicherst, dann wird nur das genommen, was du geändert hast und nicht das alte. Also mit Espace und delete hast du dann auch eine Änderung gemacht. Bei mir hat es so funtioniert. Hoffe, dass ich helfen konnte
Danke👍
Bei mir ist Controller und runSpeed nicht erschienen was mache ich jetzt?
Also bei mir ist das Problem mit der Character-Controll weil es gibt dort verschiedene Arten von download und ich weiß nicht welche richtig ist.
Kann mir da einer Helfen?
Damit der Character nicht mehr so komisch in obere Objekte buggt ändert in Zeile 67 if (!crouch) zu if (!crouch && m_wasCrouching)
Weiß du warum man nicht laufen kann wenn man alles gemacht hat?
Dankeeeeee
Wenn ich den characterconzroller da reinziehen, ist es wie eine normal Textdatei. Ich kann da keine Jump force oder so einstellen
wenn ich das script öffnen möchte kommt folgende fehlermeldung : Unable to open Assets/Playermovement.cs: Check external application preferences.
Hallo Breax ich bitte dich um ne Antwort,weil ich mit dem Character Controller nicht klar.1.bei mir ist die Datei C# nur ein grünes #.2.Wenn ic das aus dem link kopiere und e in die datei einfüge erlauben sie es mir nicht.
Ich bedanke mich schonmal im Voraus für die Hilfe
Hast du dc
@@moontimer was ist dc sorry kenn mich noch nicht so gut aus
ok hat sich erledigt war dumm
@@moontimer und nein hab ich leider nicht weil ich im urlaub bin trotzdem danke das du mir helfen wolltest
Ok gut
An alle bei denen das Movement-Script nicht funktioniert, versucht mal das:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public CharacterController2D controller;
public float runSpeed = 40f;
float horizontalMove = 0f;
bool jump = false;
bool crouch = false;
// Update is called once per frame
void Update () {
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
if (Input.GetButtonDown("Jump"))
{
jump = true;
}
if (Input.GetButtonDown("Crouch"))
{
crouch = true;
} else if (Input.GetButtonUp("Crouch"))
{
crouch = false;
}
}
void FixedUpdate ()
{
// Move our character
controller.Move(horizontalMove * Time.fixedDeltaTime, crouch, jump);
jump = false;
}
}
bei mir funktioniert das auch nicht
OMG DANKE DANKE DANKE, du bist meine RETTUNG
Danke ohne dich hätte ich aufgegeben
Bei mir steht: assets/playerMovement.cs(20,2):error CS1513:}expected
kann mir jemand helfen was ich machen muss?
Du hast wahrscheinlich in Zeile 20 beim zweiten Zeichen etwas falsch gemacht
Super Reihe! Bis hierhin hat fast alles funktioniert. Mein Charakter kann sich bewegen, springen und crouchen ABER der Charakter geht nicht unter den Hindernissen durch und ich weiß nicht, wie ich mir während des Testens (wie im Video) die Hitboxen anzeigen kann. Kann mir da Jemand weiterhelfen?
Hallo kann man das auch mit 3d Physik machen?
für alle im neuen jahr das script passt
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public CharacterController2D controller;
public float runSpeed = 40f;
float horizontalMove = 0f;
bool jump = false;
bool crouch = false;
// Update is called once per frame
void Update () {
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
if (Input.GetButtonDown("Jump"))
{
jump = true;
}
if (Input.GetButtonDown("Crouch"))
{
crouch = true;
} else if (Input.GetButtonUp("Crouch"))
{
crouch = false;
}
}
void FixedUpdate ()
{
// Move our character
controller.Move(horizontalMove * Time.fixedDeltaTime, crouch, jump);
jump = false;
}
}
Wird es sonst fehlerhaft?
Mir wird kein Fehler im Code angegeben, den Charakter kann ich aber weder bewegen, noch kann ich mit ihm Springen oder mich Crouchen
bei mir auch
@@dtpplaying1071 Hast du das Script "CharacterController2D" genannt? Dein Script muss genau den Namen der Klasse haben
ich auch
wo kann ich mich charackter controll downloaden
Hallo ich weiß nicht was ich Falsch gemacht haben könnte aber bei kommt eine Fehlermeldung FIXEDDELTATIMES Error CS0117 bei 17:46
danke für diese Vidios die helfen mir in meinen schulprojekt echt weiter
Ihr macht so was in der Schule? Cool das würde ich auch gern mal machen : )
Hey! Mach weiter so! Auch wenn du nicht so viele Aufrufe für dieses Tutorial bekommst , ist es super! Wann kommt das Video zu Animation? :)
Ich würde mich freuen und es mir definitiv anschauen!
BEBei mir kommt immer eine fehlermeldung, da steht: THE NAMESPACE(Global namespace already contains a definition for charactercontroller)
jo kein plan was ich falsch mache mein Charakter kann nicht springen
hab schon 3x denn code neu gescgrieben ohne Fehlmeldungen
Ich habe leider ein Problem in 2022 in CharacterController2D fällt mein Spieler einfach hin!