c# - How can I lock the Camera? Unity2D -


i'm trying make when edge of map either right side or left side camera locks still allows player move forward towards edge until turn around. know need use mathf.clamp i'm not sure how apply current code. thank you.

using system.collections; using system.collections.generic; using unityengine;  public class walkscript : monobehaviour {      public float speed = 1.5f;     private vector3 target;     private vector3 lasttarget;     private animator animator;      private vector3 camtarget;     public gameobject cameramain;      void start () {         target = transform.position;         camtarget = cameramain.transform.position;         animator = getcomponent<animator> ();     }      void update () {         if (input.getmousebuttondown(0)) {             target = camera.main.screentoworldpoint(input.mouseposition);             target.z = transform.position.z;             target.y = transform.position.y;              camtarget = camera.main.screentoworldpoint(input.mouseposition);             camtarget.z = cameramain.transform.position.z;             camtarget.y = cameramain.transform.position.y;             flipcharacter ();         }         transform.position = vector3.movetowards(transform.position, target, speed * time.deltatime);         cameramain.transform.position = vector3.movetowards(cameramain.transform.position, camtarget, speed * time.deltatime);         lasttarget.x = target.x;     }         private void flipcharacter()     {         if (lasttarget.x > target.x) {             animator.transform.rotate(0, 180, 0);         } else if (lasttarget.x < target.x) {             animator.transform.rotate(0, 180, 0);         }     } } 

hello! code should work.

public vector2 maplimit; void update() {     if (input.getmousebuttondown(0)) {         target = camera.main.screentoworldpoint(input.mouseposition);         target.z = transform.position.z;         target.y = transform.position.y;          camtarget = camera.main.screentoworldpoint(input.mouseposition);         camtarget.z = cameramain.transform.position.z;         camtarget.y = cameramain.transform.position.y;          camtarget.x = mathf.clamp(camtarget.x, -maplimit.x, maplimit.x);         camtarget.z = mathf.clamp(camtarget.z, -maplimit.y, maplimit.y);          flipcharacter();     }     transform.position = vector3.movetowards(transform.position, target, speed * time.deltatime);     cameramain.transform.position = vector3.lerp(cameramain.trasform.position, camtarget, time.deltatime * speed);      lasttarget.x = target.x; } 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -