unity3d - void Start() 函数延迟 (C# Unity3D)
问题描述
所以我想要的是我的角色根据倒计时改变位置和跳跃,但是我怎样才能在 start() 函数中做到这一点,我知道 Update() 函数但是他会飞得很远。检查代码,这就是我尝试过的,有什么想法吗?谢谢。
private Rigidbody2D rb2de;
public float enemyJump;
float transformTime = 15.0f;
void Start()
{
rb2de = GetComponent<Rigidbody2D>();
rb2de.AddForce(new Vector2(rb2de.velocity.x, enemyJump));
transformTime -= Time.deltaTime;
if (Mathf.Round(transformTime) == 12) ;
transform.position = new Vector3(4, transform.position.y, transform.position.z);
rb2de.AddForce(new Vector2(rb2de.velocity.x, enemyJump / 12));
}
解决方案
你只需要使用协程。例如
void Start()
{
rb2de = GetComponent<Rigidbody2D>();
rb2de.AddForce(new Vector2(rb2de.velocity.x, enemyJump));
StartCoroutine($yourname());
}
IEnumerator $yourname()
{
yield return new WaitForSeconds($waitingTime)
transform.position = new Vector3(4, transform.position.y, transform.position.z);
rb2de.AddForce(new Vector2(rb2de.velocity.x, enemyJump / 12));
}
推荐阅读
- php - 如何在打开某些 url 时设置它不被 wordpress 处理
- ansible - Ansible azure_rm_virtualmachine_extension 模块失败并出现异常
- python - 如何使用 python 在内存中找到 00000000,就像 C 使用 while != 00000000 一样
- angular - ForEach 内的 Angular2 延迟
- c# - 发生“System.ArgumentOutOfRangeException”类型的未处理异常
- reactjs - 测试通过但覆盖率没有更新 - Jest Enzyme - React JS
- ibm-watson - 使用 Watson 作为测试工具
- elasticsearch - Canvas 中的 Elasticsearch SQL 查询:它不像 SQL 那样工作?
- elasticsearch - 无法在弹性搜索中完全创建索引
- java - Android AudioTrack 替代品