Ana içerik
Konu: Bilgisayar Programlama > Ünite 5
Ders 8: Parçacık Sistemleri- Parçacık sistemlerine giriş
- Tek bir parçacık
- Zor görev: Düşen yapraklar
- Bir parçacık sistemi
- Zor görev: Balık kabarcıkları
- Parçacık sistemi sistemleri
- Zor görev: Ateş başlatan
- Parçacık türleri
- Zor görev: Büyülü kazan
- Kuvvet içeren parçacık sistemleri
- Zor görev: Nehirdeki taşlar
© 2024 Khan AcademyKullanım ŞartlarıGizlilik PolitikasıÇerez Politikası
Parçacık sistemi sistemleri
Nerede kaldığımızı hatırlayalım. Bir tek Parçacık nesnesinden bahsetmeyi biliyoruz.
Particle
nesnelerinden oluşan bir sistem hakkında konuşmayı biliyoruz, ve bunu bir “parçacık sistemi” olarak adlandırıyoruz. Parçacık sistemini bağımsız bir nesneler topluluğu olarak tanımladık. Ancak, parçacık sisteminin kendisi de bir nesne değil midir? Eğer durum böyleyse (ki böyle), parçacık sistemlerinin topluluğu olmaması için bir neden yoktur, yani sistemin sistemi.Bu tarz düşünceler bizi daha ileri götürebilir, ve kendinizi bodruma günlerce kilitleyip sistemin sisteminin sisteminin sisteminin sisteminin sisteminin şemasını çizebilirsiniz. Sisteminin. Ne de olsa, işler böyle yürür. Organ, hücrelerin oluşturduğu bir sistemdir, insan vücudu organların oluşturduğu bir sistemdir, bir şehir mahallelerin oluşturduğu bir sistemdir, vesaire. Bu gitmek için ilginç bir yol olsa da, şimdi olmak istediğimiz yerden biraz uzaktır. Yine de, her biri birçok parçacığı takip eden birçok parçacık sistemini takip eden bir program yazmayı bilmek faydalıdır. Aşağıdaki senaryoya bakalım:
- Boş bir ekranla başlıyorsunuz.
- Fareye tıklıyorsunuz ve farenin konumunda bir parçacık sistemi oluşturuyorsunuz.
- Fareye her tıkladığınızda, yeni bir parçacık sistemi farenin konumunda oluşturulur.
Kendiniz deneyin:
Bunu kodla nasıl gerçekleştiririz? Önceki makalede, bir
ParticleSystem
nesnesine tek referansı ps
değişkeninde saklamıştık.var ps = new ParticleSystem(new PVector(width/2, 50));
draw = function() {
background(50, 50, 50);
ps.addParticle();
ps.run();
};
Artık birden çok sistem olduğuna göre, potansiyel olarak gittikçe artan bir sayı, bunları ayrı ayrı isimlendirilmiş değişkenlerde saklamak istemiyoruz. Bunun yerine, tüm sistemleri izlemek için bir dizi kullanacağız. Program başladığında bunu boş başlatırız:
var systems = [];
Fare basılı olduğunda, yeni bir
ParticleSystem
nesnesi oluşturulur ve diziye itilir:mousePressed = function() {
systems.push(new ParticleSystem(new PVector(mouseX, mouseY)));
};
draw()
'da, bir ParticleSystem
nesnesine başvurmak yerine, dizideki tüm sistemlere bakarız ve her birinde run()
'ı çağırırız.draw = function() {
background(50, 50, 50);
for(var i = 0; i < systems.length; i++){
systems[i].addParticle();
systems[i].run();
}
};
Şimdi, yazmış olduğumuz kodla kendiniz tekrar deneyin:
Tartışmaya katılmak ister misiniz?
Henüz gönderi yok.