繁体   English   中英

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

[英]How do i go about stopping my rotation at a certain point on an axis?

我目前正在从事一个简单的棒球比赛。 尝试做的是让玩家能够向后挥动球棒以“充电”力量,这样说,然后当释放按钮时,他将以等于所存储的力量的速度向前挥动球棒。

这一切都很好,但是我的问题是,当蝙蝠到达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
}

您不能仅仅获得EulerAngle并仅检查Y分量是否大于266?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM