using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy_Jump : MonoBehaviour {
Rigidbody2D rb;
[SerializeField]
private float jumpHeight;
[SerializeField]
private float jumpDelay;
// Use this for initialization
void Start() {
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update() {
Jump();
}
void Jump(){
StartCoroutine ("Wait");
rb.AddForce (new Vector2 (0, jumpHeight));
}
IEnumerator Wait(){
yield return new WaitForSeconds (jumpDelay);
Debug.Log ("waiting");
yield return 0;
}
}
私はそれが少しの時間を待っていない問題があるようです。私はwaitForSeconds
機能にも設定番号を入力しましたが、それでも何も遅延させません。私は他の方法を知らないし、オンライン検索を介して他の方法で機能を遅らせることもできない。なぜ私のプログラムは時間がかかりません
courotineは、あなたのrb.AddForceラインには影響を与えません。 courotine candはその中のコードだけを遅らせ、Jump()はクロトロンからは呼び出されず、すべてのフレームと呼ばれる更新から呼び出されます。 –