Unity2D旋转问题

马修·希克卢纳(Matthew Scicluna)

我正在尝试在游戏中添加降落伞,我需要它向右旋转45度,然后向左旋转45度并保持交替,下面是我需要如何工作的示意图

在此处输入图片说明

我正在使用的代码如下,但是它只能在一侧使用,所以不会返回。

        if (maxRotation <= transform.rotation.eulerAngles.z)
        {
            rotatingRight = false;
        }else if(minRotation <= transform.rotation.eulerAngles.z)
        {
            rotatingRight = true;
        }

        transform.Translate(Vector2.down * fallSpeed * Time.deltaTime);

        if (rotatingRight)
        {
            transform.Rotate(Vector3.forward * 45 * Time.deltaTime);
        }
        else
        {
            transform.Rotate(Vector3.forward * -45 * Time.deltaTime);
        }
鲁济姆

正如3Dave在评论中所说,当minRotation大于或等于eulerAngles时,通常应该向右旋转

if (maxRotation <= transform.rotation.eulerAngles.z)
{
    rotatingRight = false;
} else if (transform.rotation.eulerAngles.z <= minRotation)
{
    rotatingRight = true;
}

transform.Translate(Vector2.down * fallSpeed * Time.deltaTime);

if (rotatingRight)
{
    transform.Rotate(Vector3.forward * 45 * Time.deltaTime);
}
else
{
    transform.Rotate(Vector3.forward * -45 * Time.deltaTime);
}

现在,我意识到此答案的先前版本被不必要地弄乱了,但是由于它已经被接受,所以我无法删除它。该问题仅是由错字引起的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章