【问题标题】:unity 5 C# Object Translation and Rotationunity 5 C# 对象平移和旋转
【发布时间】:2016-08-09 14:36:54
【问题描述】:

团结一致,我知道如何平移和旋转对象,并且我总是在 Update 函数中执行此操作,我遇到的问题是我希望按顺序进行一系列平移和旋转,但唯一的平移/旋转发生的是我在代码中首先调用的那个,有没有办法进行翻译,例如等待一定的时间然后进行另一次翻译。谢谢。

void Update () 
    {

        if (enemyHit == false)
        {
            //enemy moving
            transform.LookAt(TTarget);


        }
        else if (enemyHit == true)
        {
            Debug.Log (enemyHit);

            Evade();
        }
    }
IEnumerator Wait(float duration)
    {
        yield return new WaitForSeconds(duration);
    }

void Evade()
    {

        enemyHit = playerMovement.hitEnemy;

        transform.Translate(Vector3.back * Time.deltaTime * movementSpeed);
        Wait(2);
        transform.Rotate(0,90,0);

    }

我尝试使用单独的函数,但似乎没有任何作用。

【问题讨论】:

  • 你能添加一些代码吗? the only one that occurs is the first in the code...?
  • 不要在更新功能中等待!!!您必须检查自上次更新以来的 ElapsedTime 才能执行此类操作
  • 没有必要等待,我只是想做一个动作,当满足条件时再做一个动作,代码如下;

标签: c# rotation transform unity5 translate


【解决方案1】:
IEnumerator Wait()
{
     yield return new WaitForSeconds(2);
}

您可能还想启动一个协同程序。

StartCoroutine("Wait");

这应该可以让你实现你想要做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2020-11-12
    • 2013-09-27
    相关资源
    最近更新 更多