UNITY | PROJECT | 2D PlatFormer | 1. Project Set Up

2
Importing Sprites

 

3
Cutting Sprites

 

4
Creating “Ground”
  • Add “Box Collider” to “Ground”

 

5
Adding “Player”
  • Add “Box Collider” to “Player”
  • Add “RigidBody2D” to “Player”
7.1
Adding “PlayerControl” Script
7.2
Physics Working

 

8
“PlayerControl” Script
  • Claim variable for Player movement
    • playerSpeed
    • facingRight as flag
    • playerJumpPower
    • movementX
  • in “Update()” method
    • get input to move horizontally by using “Input.GetAxis()”
    • get “RigidBody2D” component by using “GetComponent()”
      • call “velocity” propery to move “Player” with continuous input
    • create “if Statement” for Player’s movment
      • when pressing left and facing right
        • activate “FlipPlayer()” method
      • when pressing right and facing left
        • activate “FlipPlayer()” method
    • Create a Function, “FlipPlayer()”,
      • set the flag, “facingRight” to opposite
      • get the “localScale” property
        • multiply -1 to reverse the direction
      • Don’t forget to update “localScale”
10.2
Player Moving
9
“PlayerControl” Script
  • Create a function, “Jump()’,
    • use “AddForce()” to give force upwards to “Player”
  • in “PlayerMove()” method,
    • when “Jump” button is pressed, activate “Jump()” method

 

10.1
Input Manager

 

10.3
Player Jumping too high

 

11.1
RigidBody2D | Linear Drag | Gravity Scale
  • Set “Linear Drag” 0 to 1 to prevent “Player” from jumping too much
  • Set “Gravity Scale” 0 to 10 to prevent “Player” from jumping too much

 

11.2
Player Jumping
  • Player jumps normally but still it can jump multiple times in the air

WEEK3 |Unity 2D Physics | Moving GameObject

2
GameObject | Unity Component | RigidBody2D
5
Physics 2D | Gravity
6
Project Settings | Physics 2D
8
Physics2D
10
Physics2D Setting | Gravity
9
RigdBody2D | GetComponent | RigidBody2D.AddForce

GetComponent

  • we can get other components that are attached to the same Game Object this script is attached to by calling “GetComponent” and we put that component into a variable

RigidBody2D.AddForce

  • public void AddForce(Vector2 force, ForceMode2D mode = ForceMode2D.Force);
  • ForceMode2D
    • ForceMode2D.Force – Add a force to the Rigidbody2D, using its mass.
    • ForceMode2D.Impulse – Add an instant force impulse to the rigidbody2D, using its mass.
11
Script Attached
12
GameObject Moving