所以我想要我的角色根据倒数而改变位置和跳跃,但是我如何在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));
}
答案 0 :(得分:0)
您需要做的就是使用协程。例如
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));
}
答案 1 :(得分:0)
Function Start可以是一个协程,请尝试
IEnumerator Start() { ... 产生返回新的WaitForSeconds(12f); ... }