1
我有一個腳本附加到我的播放器中,其中有IEnumerator OnTriggerExit2D
。其中有一個time.time scale
等於0,這使得整個遊戲在與標籤對象發生碰撞後暫停。我這樣設置,以便我的玩家在碰撞後的某個時間停止(我使用了yield return new WaitForSeconds
)。如何繞過Time.time刻度
我的問題是;有沒有辦法讓我的球員不受time.time scale
的影響,但在發生碰撞後仍然停止,所以我的球員在整個比賽仍然暫停時仍然運作。這裏是我的腳本:
public class Player : MonoBehaviour {
public float speed = 15f;
private Vector3 target;
public Player playerMovementRef;
void Start() {
target = transform.position;
}
void Update() {
if (Input.GetMouseButtonDown(0)) {
target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
target.z = transform.position.z;
}
transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
}
IEnumerator OnTriggerExit2D (Collider2D other){
if (other.tag == "Bouncy object")
playerMovementRef.enabled = false;
yield return new WaitForSeconds (0.35f);
Time.timeScale = 0f;
playerMovementRef.enabled = true;
}
}
謝謝所有其他遊戲物體的剛體,但我已經知道了。 –
太棒了!祝你好運〜 –