所以我正在开发一个Pong项目作为学习工具,帮助我习惯Unity作为开发工作室。我想要做的是每次球击中桨时创建一个粒子系统。所以我把一个粒子系统作为一个孩子放在每个桨下面,并使它在每次球与C#中的桨接触时称为粒子系统。它不起作用,我想让它在球和桨之间的撞击点上调用粒子系统。这是我目前的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ExplosionScript : MonoBehaviour {
public GameObject explosionParticle;
void OnCollisionEnter2D (Collision2D coll) {
if (coll.collider.CompareTag ("Player")) {
Explode ();
}
}
void Explode () {
Instantiate (explosionParticle, Vector3.zero, Quaternion.identity);
}
}
此代码附加到球GameObject。
答案 0 :(得分:1)
尝试
实例化后explosionParticle.Play();
。
通常我创建一个单独的ParticleSystem gameobject
而不是孩子,所以我可以预制或修改它。然后我宣布
public ParticleSystem explosion;
然后将ParticleSystem游戏对象附加到ball
explosion
属性。
在代码中我会这样做
Instantiate(explosion, transform.position, Quaternion.identity);
explosion.Play();