İnşa ettiğim Bir Birlik oyununda küresel parçacıklar koleksiyonuyla baskıyı simüle etmeye çalışıyorum. Sorun hakkında birkaç not:
- Amaç, sürekli değişen 2d alanı / boşluğu küçük, sürtünmesiz kürelerle doldurmaktır. Oyun, bu alana itilen daha fazla nesnenin sürekli artan baskısını simüle etmeye çalışıyor.
- Seviyenin kendisi sürekli olarak soldan sağa kayar, yani alanın boyutları kullanıcı tarafından değiştirilmezse otomatik olarak küçülür (alanın en sol kısmı sürekli olarak ekran dışında kayar).
Bu sorunların üstesinden gelmek için bazı yaklaşımların neler olabileceğini merak ediyorum ...
- Doldurulacak alanın ne zaman tespit edileceğini bilmek ve daha sonra alana küreler eklemek.
- Küçülürken kürelerin boşluktan çıkarılması.
- Daha fazla alan yaratıldığında "dışa doğru patlayacak" şekilde küreler üzerindeki baskıyı simüle etme stratejileri.
Şu anda düşündüğüm yaklaşım, sürekli hareket eden bir duvar kullanıyor, bu da ekran dışında ve ekranla birlikte hareket ediyor, bu resimde gösterildiği gibi:
.
Bu hareketli duvar küreleri uzaya itecek ve sıkıştıracaktır. Yeni küreler eklemeye gelince, (1) kürenin boş alanı algıladıktan sonra kendilerini çoğaltacağını, VEYA (2) onları alanın sol tarafında (duvarın olduğu yerde) ortaya çıkaracaktım - geri kalan küreleri boşluğu doldurun. Fikir # 1 ile ilgili problemleri öngörüyorum, çünkü bu gerçekten baskı oluşturmayacak / taklit etmeyecek; 2. fikir daha umut verici görünüyor, ancak bu yeni küre parçacıklarının ortaya çıkması için nasıl bir yer sağlanacağı sorusunu gündeme getiriyor (ve yer olmadığında onları ortaya çıkarmanın sonuçları).
Bilgeliğiniz için şimdiden çok teşekkürler!