Yakın bir zamanda bu soruyu sormayı denedim ama bunun yeterli bir soru olmadığını anladım. Oyunumda oyuncu bir itfaiyeci öğrencisidir ve oyunumda rastgele ateş açmak istiyorum (oyuncu tarafından tahmin edilemez), fakat bunu nasıl yapacağımı bilmiyordum.unity3d'deki farklı sahnelerde parçacık sistemini rasgele başlatmayı nasıl başarabilir
using UnityEngine;
using System.Collections;
public class Example : MonoBehaviour {
public ParticleSystem[] particles;
public int numOn = 3;
public int j;
void Start() {
for (int i = 0; i < particles.Length - 1; i++) {
j = Random.Range(i + 1, particles.Length - 1);
ParticleSystem t = particles[j];
particles[j] = particles[i];
particles[i] = t;
}
for (j = 0; j < numOn; j++)
{
particles[j].Play();
}
}
}
: kod burada Şimdiye kadar ben bu yapmış ama hiçbir şey iyi gider (I 3 ila 5 parçacıklar sistemlere sahip birlik t adlı bir boş nesne var ve tüm başlangıcında uyanık yok ayarlanır).
yardımdan mutluluk duyacaktır :-)
ben bu çizginin üzerinde dek iyi gidiyorum: Yangın nesnenin kendisinde bir örnek komut dosyası "bir tane oluşturmanız gerektiğinde Şimdi, sadece örneğini (prefabVar) aramak için prefabrik bir kopyasını oluşturun." ama bir sahnede nasıl rastgele yapabilirim? Her şeyden önce, bu prefabrikleri, silinmeden önce sahnedeki belirli bir yere yerleştirmek zorundayız. İkinci olarak, bu seviye yüklendiğinde veya yeniden başlatıldığında, bunu rastgele bir yerde nasıl yapabiliriz. –
@FarhanAli Ne demek istediğini bilmiyorum – Steven
Üzgünüz, bu yorumu siz yazıyordum –