2014-05-15 24 views
0

我有一個人物合體,我想將其向右移動3秒,然後將其移動到左側3秒,然後再移到右側等等......像循環運動一樣。將運動應用於特定的時間間隔

我該怎麼做?是否可以重置Time.time的時間?

void Update() { 

     starttime = Time.time; 

     if (starttime < 3) 
     { 
      rigidbody.AddForce(rigidbody.transform.TransformDirection((new Vector3(0, 0, 1)) * 5)); 
     } 

} 

回答

0

不,你不能復位了time.time但你可以做這樣的事情:

private float walkTime = 3f; // seconds to walk in each direction 
private float direction = 1f; // right or left 

void Start() { 
    starttime = Time.time; 
} 

void Update() { 
    rigidbody.AddForce(rigidbody.transform.TransformDirection((new Vector3(direction, 0, 0)) * 5)); 
    if (starttime + walkTime <= Time.time) { 
     direction *= -1; 
     starttime=Time.time; 
    } 

} 
0

您可以創建一個協程是yield return new WaitForSeconds(3),然後調用你提供了回調,這將適用新軍隊。