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

时间:2015-07-06 14:47:25

标签: c# unity3d rotation

目前正在进行简单的棒球比赛。试图做的是让玩家能够向后摆动球棒以“充电”电力然后说话,然后当按钮被释放时,他将以等于存储的电量的速度向前摆动球棒。

这一切都很好,但我的问题是当他到达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(在y轴上达到266停止旋转)< - 这就是我不确定如何实现

    }   

}

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

1 个答案:

答案 0 :(得分:0)

你不能得到EulerAngle,只是检查Y分量是否大于266?