Search Unity

Camera follow x axis

Discussion in 'Scripting' started by mgamga3, Oct 11, 2022.

  1. mgamga3

    mgamga3

    Joined:
    Nov 9, 2021
    Posts:
    4
    upload_2022-10-11_11-56-8.png
    upload_2022-10-11_11-56-16.png

    Is there anyway to move my camera only in x axis?
    here's my setting and movement code upload_2022-10-11_11-56-8.png

    upload_2022-10-11_11-57-56.png
    upload_2022-10-11_11-58-3.png
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class PlayerMove : MonoBehaviour
    6. {
    7.     public float maxSpeed;
    8.     public float jumpPower;
    9.     Rigidbody2D rigid;
    10.     SpriteRenderer spriteRenderer;
    11.     Animator anim;
    12.  
    13.     void Awake(){
    14.         rigid=GetComponent<Rigidbody2D>();
    15.         spriteRenderer=GetComponent<SpriteRenderer>();
    16.         anim=GetComponent<Animator>();
    17.     }
    18.  
    19.     void Update(){
    20.  
    21.         //Jump
    22.         if(Input.GetButtonDown("Jump")&&!anim.GetBool("isJump")){
    23.             rigid.AddForce(Vector2.up*jumpPower,ForceMode2D.Impulse);
    24.             anim.SetBool("isJump",true);
    25.         }
    26.         //Stop Speed
    27.         if(Input.GetButtonUp("Horizontal")){
    28.             rigid.velocity=new Vector2(rigid.velocity.normalized.x*0.5f,rigid.velocity.y);
    29.         }
    30.         //Direction Sprite
    31.         if(Input.GetButton("Horizontal"))
    32.         {
    33.             spriteRenderer.flipX=Input.GetAxisRaw("Horizontal")==-1;
    34.         }
    35.         //Animation
    36.         if(Mathf.Abs(rigid.velocity.x)<0.3)
    37.         {
    38.             anim.SetBool("isWalk",false);
    39.         }
    40.  
    41.         else
    42.         {
    43.             anim.SetBool("isWalk",true);
    44.         }
    45.     }
    46.  
    47.     void FixedUpdate(){
    48.         //Move Speed
    49.         float h=Input.GetAxisRaw(("Horizontal"));
    50.         rigid.AddForce(Vector2.right*h,ForceMode2D.Impulse);
    51.  
    52.         //Max Speed
    53.         if(rigid.velocity.x>maxSpeed){
    54.             rigid.velocity=new Vector2(maxSpeed,rigid.velocity.y);
    55.         }
    56.  
    57.         else if(rigid.velocity.x<maxSpeed*(-1)){
    58.             rigid.velocity=new Vector2(maxSpeed*(-1),rigid.velocity.y);
    59.         }
    60.  
    61.         //Landing Platform
    62.         Debug.DrawRay(rigid.position,Vector3.down*1.25f,new Color(0,1,0));
    63.         RaycastHit2D rayHit=Physics2D.Raycast(rigid.position,Vector3.down*1.25f,1,LayerMask.GetMask("Platform"));
    64.  
    65.         if(rayHit.collider!=null){
    66.             if(rayHit.distance<0.96f)
    67.             {
    68.                 anim.SetBool("isJump",false);
    69.             }
    70.         }
    71.  
    72.     }
    73. }
    74.  

     
  2. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,697
  3. flasker

    flasker

    Joined:
    Aug 5, 2022
    Posts:
    193
    its easy, but you didnt even show your camera code
     
  4. MelvMay

    MelvMay

    Unity Technologies

    Joined:
    May 24, 2013
    Posts:
    11,459