Player -Movement @ Unity Part 2
Controlling Players movements..!!
Unity — having Input Manager , opens from Edit, Project Properties -> This is where one can configure the controls to use with Unity Engine Input API.
It has 18 different Axes to support from like Horizontal , Vertical , Fire 1, Fire 2, Fire 3, Jump etc .
One of those properties are Horizontal (Left,Right) or (a, d of keystroke of keyboard) and Vertical (Up, Down) or (w, s of keystroke of keyboard) that maps to movement of any 3D Game Object.
How these movements can be controlled — this can be done using Variables.
Variables -This is name given to piece of memory in computer to store different information or data, so that it can be accessed later during course of execution.
In Unity , its using C# Scripting APIs and follow the same rules of C# data types where they having scope— Public, Private or Local Scope
It follow convention as below
[scope][datatype][name of variable] =[optional assignment value]
- Public -accessed by any other class or program within the same project. public float _speed = 8.0f;
2. Private- accessed within the same class. In Unity , Private variables in-order accessed by Inspector to make changes at run-time or by designer using SerializableField attribute i.e., private float _speed = 8.0f;
3. Local Scope — can be accessed within the method of the class as shown below
If you now see in above examples , we have defined the variables of local scope— i.e, horizontalInput and verticalInput that maps to the InputManager -> Horizontal, Vertical Axes and variable of private scope -i.e, _speed having [SerializeField] attribute, so that it can be changed from the inspector.
So player movement along the horizontal /vertical direction based on speed and moving Time.deltaTime as under :
or it can be more optimized in single statement as shown below
@GameDevHQ-Day 6…