У меня есть вопрос о том, чтобы частица для прыжков, как облако пыли, когда игрок прыгает, вот мой игрок сценарий:Перейти эффект частиц
public class PlayerMovement : MonoBehaviour {
public float speed = 5f;
public Transform groundCheck;
public LayerMask groundLayer;
bool grounded = false;
Animator anim;
Rigidbody2D rgbd;
void Start() {
anim = GetComponent<Animator>();
rgbd = GetComponent<Rigidbody2D>();
}
void Update() {
}
void FixedUpdate(){
grounded = Physics2D.OverlapCircle (groundCheck.position, 0.2f, groundLayer);
float movex = Input.GetAxis ("Horizontal");
rigidbody2D.velocity = new Vector2 (movex * speed, rigidbody2D.velocity.y);
if (movex > 0){
transform.localScale = new Vector2(1,transform.localScale.y);
} else if (movex < 0){
transform.localScale = new Vector2(-1,transform.localScale.y);
}
if (Input.GetKey (KeyCode.UpArrow)){
if (grounded == true){
rgbd.AddForce (new Vector2(0f, 4f),ForceMode2D.Impulse);
} else {
grounded = false;
}
}
anim.SetFloat ("speed", Mathf.Abs (movex));
anim.SetBool ("grounded", grounded);
}
}
Я хочу его, чтобы активировать систему частиц только один раз в то время в воздухе. Я пробовал несколько вещей, но когда игрок находится в воздухе, система частиц никогда не останавливалась.
Я хочу, чтобы он играл частицу и просто играл один раз, я тоже не умею создавать экземпляр): –
Вам нужно создать экземпляр частицы, когда захотите. Эти частицы должны уничтожаться, когда их продолжительность закончена. Проверьте методы экземпляра и onDestrot от Unity3d. –