Improve Player Movement
This commit is contained in:
parent
c813d46662
commit
2e10cc44ec
2 changed files with 9 additions and 20 deletions
|
@ -9,11 +9,11 @@ namespace src.Base
|
|||
public float movementSpeed = 4f;
|
||||
|
||||
/* Movement */
|
||||
protected Rigidbody2D Rigidbody2d;
|
||||
protected Rigidbody2D rigidbody2d;
|
||||
|
||||
protected void Start()
|
||||
{
|
||||
Rigidbody2d = GetComponent<Rigidbody2D>();
|
||||
rigidbody2d = GetComponent<Rigidbody2D>();
|
||||
}
|
||||
|
||||
public void OnTriggerEnter2D(Collider2D other)
|
||||
|
|
|
@ -7,12 +7,14 @@ namespace src.Player
|
|||
{
|
||||
public class PlayerController : PlayerBase
|
||||
{
|
||||
public Transform respawnPosition;
|
||||
|
||||
private Transform _respawnPosition;
|
||||
private BombsSpawner _bombsSpawner;
|
||||
protected new void Start()
|
||||
{
|
||||
base.Start();
|
||||
|
||||
_respawnPosition = GameObject.Find("RespawnPosition").transform;
|
||||
_bombsSpawner = GameObject.Find("BombSpawner").GetComponent<BombsSpawner>();
|
||||
/* Always start at the starting point. */
|
||||
Respawn();
|
||||
}
|
||||
|
@ -32,20 +34,8 @@ namespace src.Player
|
|||
#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL
|
||||
var horizontal = Input.GetAxis("Horizontal");
|
||||
var vertical = Input.GetAxis("Vertical");
|
||||
|
||||
// Restrict movement in only one axis at the same time.
|
||||
if (Math.Abs(vertical) > 0.00001)
|
||||
{
|
||||
horizontal = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
vertical = 0;
|
||||
}
|
||||
|
||||
var movementVector = new Vector2(horizontal, vertical);
|
||||
|
||||
Rigidbody2d.position += movementSpeed * Time.deltaTime * movementVector;
|
||||
rigidbody2d.MovePosition(rigidbody2d.position + movementSpeed * Time.deltaTime * movementVector);
|
||||
#elif UNITY_IOS || UNITY_ANDROID
|
||||
// Phone movement is not supported yet.
|
||||
#elif UNITY_PS4 || UNITY_XBOXONE
|
||||
|
@ -55,8 +45,7 @@ namespace src.Player
|
|||
|
||||
private void PlaceBomb()
|
||||
{
|
||||
GameObject bombsSpawnerObject = GameObject.Find("BombSpawner");
|
||||
bombsSpawnerObject.GetComponent<BombsSpawner>().PlaceBomb(transform);
|
||||
_bombsSpawner.PlaceBomb(transform);
|
||||
}
|
||||
|
||||
private void HandleBomb()
|
||||
|
@ -75,7 +64,7 @@ namespace src.Player
|
|||
|
||||
private void Respawn()
|
||||
{
|
||||
transform.position = respawnPosition.position;
|
||||
transform.SetPositionAndRotation(_respawnPosition.position, Quaternion.identity);
|
||||
}
|
||||
|
||||
public void OnTriggerExit2D(Collider2D other)
|
||||
|
|
Loading…
Reference in a new issue