From 96101e66d8493b1f5011713c86e29caff100beb4 Mon Sep 17 00:00:00 2001 From: Dmitri Kolytchev Date: Sat, 30 Jan 2016 02:17:13 -0500 Subject: [PATCH] adding limits to player movement --- Assets/scripts/PlayerBehaviour.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Assets/scripts/PlayerBehaviour.cs b/Assets/scripts/PlayerBehaviour.cs index c2c14cb..41415f7 100644 --- a/Assets/scripts/PlayerBehaviour.cs +++ b/Assets/scripts/PlayerBehaviour.cs @@ -14,18 +14,20 @@ public class PlayerBehaviour : MonoBehaviour { } // Update is called once per frame - void Update () { + void FixedUpdate () { string horizAxisString = "Horizontal"+(playerNumber==1?"":playerNumber.ToString()); string vertAxisString = "Vertical"+(playerNumber==1?"":playerNumber.ToString()); - Vector3 movement = new Vector3 (Input.GetAxis(horizAxisString), Input.GetAxis(vertAxisString), 0) * speed; + Vector3 movement = new Vector3 (Input.GetAxis(horizAxisString), Input.GetAxis(vertAxisString), 0) * speed * Time.deltaTime; if (movement.magnitude > speed) - movement = movement.normalized * speed; + movement = movement.normalized * speed * Time.deltaTime; - //if((transform.position + movement - anchor.transform.position).magnitude >= maxRangeFromAnchor) - // movement -= anchor.transform.position - transform.position + Vector3 distanceFromAnchor = transform.position - anchor.transform.position; + if ((distanceFromAnchor + movement).magnitude > maxRangeFromAnchor) { + movement -= (distanceFromAnchor - distanceFromAnchor.normalized * maxRangeFromAnchor); + }//*/ - transform.position += movement * Time.deltaTime; + transform.position += movement; } }