2017-06-13 71 views
0

因此,我正在將Pong項目作爲一種學習工具來幫助我適應Unity作爲開發工作室。我想要做的是每次擊球時創建一個粒子系統。所以我在每個槳下面都安裝了一個粒子系統,並且在每次球與C#中的槳接觸時都將它稱爲粒子系統。它不起作用,我想讓它在球和槳之間的碰撞點處稱爲粒子系統。以下是我目前使用的代碼:如何在影響點在Unity中創建粒子

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。

Hierarchy for Scene

+0

我在我自己的遊戲代碼嘗試這個。 – Vangel

+0

好的。 :) 祝你好運! –

回答

1

嘗試 explosionParticle.Play();實例化後。

通常我創建一個單獨的ParticleSystem gameobject而不是一個孩子,所以我可以預製或修改它。然後我聲明 public ParticleSystem explosion;然後將ParticleSystem遊戲對象附加到ballexplosion屬性。

在代碼中,我會做這個

Instantiate(explosion, transform.position, Quaternion.identity); explosion.Play();

+0

對不起,'但是在explode.Play();'中,'.Play();'從哪裏來?這在我的代碼中是無效的。 –

+0

'public GameObject explosionParticle;'make it 'public ParticleSystem explosionParticle;' – Vangel

+0

非常感謝! :P –