如何在统一的“ void Update {}”中执行分步代码?

时间:2019-11-29 09:10:54

标签: c# unity3d

我将成为追踪者。 这是我的团结之路 Track image

我想在统一的C#脚本方法void Update {}中逐步操作代码1〜10, 但我找不到方法。 我使用三角系统Sin和Cos制作旋转代码。

Rigidbody rigidbody;
public GameObject ball;
Vector3 P1 = new Vector3(-5, 1.5f, 25);
public float theta;

// Start is called before the first frame update
void Start()
{
    rigidbody = GetComponent<Rigidbody>();
}

// Update is called once per frame
void Update()
{
    ball.transform.position = Vector3.MoveTowards(transform.position, P1, 0.05f); // 1st move

    if(theta <210)         // 2nd rotation with trigonometic equations
    {
        theta += 1;
        ball.transform.position = Rot(theta);
    }
}

Vector3 Rot(float theta)   // rotation by trigonometric equations
{

    Vector3 P2;
    P2.x = (3 * Mathf.Cos(theta * Mathf.PI / 180) - 3 * Mathf.Sin(theta * Mathf.PI / 180)) -8;
    P2.y = 1.5f;
    P2.z = (3 * Mathf.Sin(theta * Mathf.PI / 180) + 3 * Mathf.Cos(theta * Mathf.PI / 180)) + 22 ;
    return P2;

}

如果我播放该代码,则球刚好弯曲到位置P1并立即开始旋转  我该如何使用呢?

并且不能使用键盘或其他输入处理程序,只能通过代码使用

1 个答案:

答案 0 :(得分:0)

要统一调试,您将需要使用Visual Studio调试工具。单击“连接Unity”播放按钮,然后在统一一侧播放。当然,您需要在需要的地方放置一个调试点。

注意:如果可能,您的游戏将被卡在Update调试中,并且您需要在游戏视图中查看更新,只需在协程中执行需要调试的代码即可。 如果您只需要知道变量的值,那么即使在更新中也应该可以对其进行调试而没有任何问题。