unity2D:角色左右移动、跳跃

移动

1.获取左右移动信息

Input.GetAxis("Horizontal");//返回值为-1~1

Input.GetAxisRaw("Horizontal");//返回值为-1、0、1

2.修改刚体的velocity,如果是水平移动就修改x轴,相对应的,如果是前后移动就修改y轴

 _myrb.velocity=new Vector2(_myhorizontalmove*Speed*Time.deltaTime,_myrb.velocity.y);

跳跃

1.判断是否按下了起跳键

Input.GetButtonDown("Jump");返回true false

!!ps:这是我学到后面发现的,GetButtonDown有延迟,会很卡,可以用GetButton!!

2.修改刚体的velocity,修改y轴的速度

_myrb.velocity=new Vector2(_myrb.velocity.x,JumpSpeed*Time.deltaTime);

根据移动的方向转身

1.转身是修改transform.localScale,向左的时候是-1,向右的时候是1.恰好与Input.GetAxisRaw("Horizontal")的返回值相契合

2. transform.localScale=new Vector3(Input.GetAxisRaw("Horizontal"),1,1);即可

你可能感兴趣的:(unity2D,unity)