如何在轴上的某一点停止旋转

本文关键字:一点 旋转 | 更新日期: 2023-09-27 18:01:18

我目前正在开发一款简单的棒球游戏。我们所要做的便是让玩家能够向后挥动球棒去"充电",然后当按钮被释放时,他将以与所储存的能量相等的速度向前挥动球棒。

这一切都很好,但我的问题是我需要停止蝙蝠的运动,当他达到y轴上的某一点,我有点不确定如何去做这件事,因为我不能只是告诉它停止旋转一段时间后,因为蝙蝠不会在同一时间到达前点,每次由于速度的差异,每个摆动可能有。

无论如何,这是目前为止我写的代码:

public int rotateSpeed = 50;
public float AmountOfPowerChargedUp = 0;
void Update() 
{

    if (Input.GetMouseButton(0))    
    {
        AmountOfPowerChargedUp += 5f;
        transform.Rotate(Vector3.up * rotateSpeed * Time.deltaTime); 
        Debug.Log(AmountOfPowerChargedUp);
    }

    if (!Input.GetMouseButton (0)) 
    {
        transform.Rotate(Vector3.down * AmountOfPowerChargedUp * Time.deltaTime);

//if(到达266在y轴停止旋转)<——这是我不确定如何实现

    }   
}
private void OnGUI()
{
    GUI.Label (new Rect (50, 15, 250, 25), "AmountOfPowerChargedUp: " + AmountOfPowerChargedUp); // Tallene er mål på størrelsen og placering
}

如何在轴上的某一点停止旋转

你不能直接得到欧拉角,然后简单地检查Y分量是否大于266吗?