本文主要是介绍【Unity学习笔记】斜向走路变快的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主要思路:
把水平方向与垂直方向的速度看作是向量,那只要在斜向走路的时候让两向量相加后还和水平/垂直时的向量相同就可以了。
float horizontalMove = Input.GetAxis("Horizontal"); float faceDirection = Input.GetAxisRaw("Horizontal"); float verticalMove = Input.GetAxis("Vertical");if ((horizontalMove + verticalMove) > 1|| (horizontalMove + verticalMove) < -1|| (horizontalMove >0.1&& verticalMove <-0.1)|| (horizontalMove < -0.1 && verticalMove > 0.1)) { horizontalMove = horizontalMove*(float)System.Math.Sqrt(0.5);verticalMove = verticalMove*(float)System.Math.Sqrt(0.5); }rb.velocity = new Vector2(horizontalMove * speed, rb.velocity.y);rb.velocity = new Vector2(rb.velocity.x, verticalMove * speed);
这篇关于【Unity学习笔记】斜向走路变快的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!