2d movement script unity

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class movement2D : MonoBehaviour
{
    Rigidbody2D body;

    float horizontal;
    float vertical;

    public float runSpeed = 10.0f;
    
    
    // Start is called before the first frame update
    void Start()
    {
        body = GetComponent<Rigidbody2D>();        
    }

    // Update is called once per frame
    void Update()
    {
        horizontal = Input.GetAxisRaw("Horizontal");
        vertical = Input.GetAxisRaw("Vertical");
    }

    private void FixedUpdate()
    {
        body.velocity = new Vector2(horizontal * runSpeed, vertical * runSpeed);   
    }
}

0
7
Adrian Smith 105 points

                                    using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Movement : MonoBehaviour
{
	//for A&amp;D  /  Right&amp;Left Arrow And Jump Movement
    //for Adding W&amp;S Movement, Remove The Slashes Below And Add Slashes 
    //To Jump Movement Only Also In RigidBody2D Remove Gravity For It
    
    public Rigidbody2D rb;
    private bool IsGrounded = true;
    private float MoveX;
    //private float MoveY;
    private bool DoDeath = true;
    public GameObject DeathScreen;
    public GameObject LevelCompleteScreen;
    void Start()
    {
        DeathScreen.gameObject.SetActive(false);
        LevelCompleteScreen.gameObject.SetActive(false);
        rb = GetComponent&lt;Rigidbody2D&gt;();
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        Debug.Log(IsGrounded);
        if(Input.GetButtonDown(&quot;Jump&quot;) &amp;&amp; IsGrounded)
        {
        	//Remove These 2 Lines Below For W&amp;s Movement Only
            
            rb.AddForce(new Vector2(0,500));
            IsGrounded = false;
        }

        MoveX = Input.GetAxisRaw(&quot;Horizontal&quot;);
        Remove The Slashes For W&amp;S Movement Only
        //MoveY = Input.GetAxisRaw(&quot;Vertical&quot;);
        //Slash The Below Line Out For W&amp;S Movement Only
        
        rb.AddForce(new Vector2(MoveX * 20, 0));
        //Remove The Slashes For W&amp;S Movement Only
        
        //rb.velocity = (new Vector2(MoveX * 20, MoveY * 20));
        
        
    }
    public void OnTriggerEnter2D(Collider2D ob)
    {
        if(DoDeath)
        {
            if(ob.name == &quot;DeathTrigger&quot;)
            {
                DeathScreen.gameObject.SetActive(true);
            }
            if(ob.name == &quot;Finish&quot;)
            {
                LevelCompleteScreen.gameObject.SetActive(true);
                DoDeath = false;
            }
        }
    }
    public void OnCollisionEnter2D()
    {
        IsGrounded = true;
    }
}

0
0
4
3

                                    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(&quot;Events&quot;)]
	[Space]

	public UnityEvent OnLandEvent;

	[System.Serializable]
	public class BoolEvent : UnityEvent&lt;bool&gt; { }

	public BoolEvent OnCrouchEvent;
	private bool m_wasCrouching = false;

	private void Awake()
	{
		m_Rigidbody2D = GetComponent&lt;Rigidbody2D&gt;();

		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 &lt; 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 &gt; 0 &amp;&amp; !m_FacingRight)
			{
				// ... flip the player.
				Flip();
			}
			// Otherwise if the input is moving the player left and the player is facing right...
			else if (move &lt; 0 &amp;&amp; m_FacingRight)
			{
				// ... flip the player.
				Flip();
			}
		}
		// If the player should jump...
		if (m_Grounded &amp;&amp; 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;
	}
}

4 (3 Votes)
0
Are there any code examples left?
Create a Free Account
Unlock the power of data and AI by diving into Python, ChatGPT, SQL, Power BI, and beyond.
Sign up
Develop soft skills on BrainApps
Complete the IQ Test
Relative searches
player movement unity 2d script unity player movement 2d script 2d movement script c# movement code unity 2d 2d movement script unity basic 2d player movement movement in 2d unity simple 2d unity movement 2d player movement script unity 2d movement with physics movement 2d unity ui unity 2d basic movement script basic 2d player movement script unity basic 2d player movement script unity movement 2d code 2d game movement unity 2d movement player unity movement in unity 2d c 2d player movement script unity unity 2d make movement 2d player movement script c# unity c# movement script 2d c# unity 2d movement basic player movement unity 2d unity best way to handle 2d movement 2d movement in unity script make 2d movement unity unity c# player movement 2d how to add movement in unity 2d player movement unity 2d unity code for 2d movement unity 2d player movement script how to code 2d movement in unity how to make player movement in unity 2d simple 2d player movement unity unity 2d movement tutorial 2d player movement unity c# movement 2d unity unity 2d enemy movement script 2d player movement unity C# script for player movement 2d in unity unity script for 2d movement player movement 2d unity physics based movement unity 2d character movement script unity 2d simple 2d movement script unity 2d movement script best movement scripte unity 2d simple player movement script unity 2d simple 2d movement unity 2d movement script unity c# basic 2d movement script unity unity 2d player movement script c# unity 2d game player movement unity 2d c# movement unity 2d movement script unity 2d player movement 2d unity movement script player movement script unity 2d 2d physics based movement unity C# 2d movement unity unity movement 2d movement unity 2d 2d unity movement basic 2d movement unity 2d movement script unity unity movement script 2d 2d movement in unity how to make a 2d movement script in unity unity 2d game movement how to make 2d movement 2d movement unity unity 2d movement code movement script unity 2d how to make a movement script in unity 2d Unity movement 2d script unity 2d movement how to do 2d movement in unity code for movement in unity 2d movement in unity 2d how to make 2d movement in unity
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.
Creating a new code example
Code snippet title
Source