Arkadaşlar oyunuma bir düşman eklemek istiyordum ama düşmanın silahı düşmandan uzun buda collisions da sıkıntı yaratıyor sizce pixel perfect collision kullanmam performans sıkıntısı çıkarırmı
@EkremDincel
pixel perfect collision yapmak kolay sadece performansda bir sıkıntı çıkarır mı onu merak ediyorum bilgili biri varsa lütfen açıklasın incelediğim kişilerden sadece @EkremDincel ilgileniyordu pygame ile o yüzden onu etiketledim
Sadece bir tane mask collision kullanmanız sıkıntı çıkarmaz diye tahmin ediyorum, ama böyle durumlarda kullanılması gereken asıl yöntem şekli birkaç büyük dörtgene (rect) bölmek.
o nasıl olucak lütfen açıklayın
gerçekten nedense hiç kullanmak istemiyorum pixel perfecti
Yani resmin sınırlarını yeterli görünceye kadar bir rect ile kapatacaksınız, her pixeli göz önünde bulundurmanıza gerek yok.
bu resimde silah karakterden büyük ve ben bunu collisiona soktugumda eğer bizim ana karakter düşmanın üstüne değer ise boşluktaymış gibi duruyor ben bunu silahın hitboxı ayrı karakterin hitboxı ayrı yapsam olur mu?
Evet, asıl doğru yöntem silahla karakterin hitbox’larını ayırmak.
saol bende öyle düşündüm ama sonra ayrıma düştüm peki diğer spritlerde hitboxmı kullanmak doğru olur normal collision mı
Pygame ile uğraşmışsınız bu belli.Size bir sorum olacaktı: 2D olarak orta seviye oyunlar yapılabiliyor mu?
Saniyede kac kere collision check yapilacak?
Bu check’ler kac tane entity arasinda gerceklesecek?
evet orta seviye dediğini anlamadım ama iyi oyunlar çıkıyor ortaya pygame ile yapılmış mesela
developer:https://cmlsc.itch.io/
saniyede kaç tane olduğunu bilemem sadece main char düşmana temas ederse olacak. oyun döngüsünde bir kere check sonra eğer temas ederse hit yiyecek main char
hitbox yapıcam hitboxlar mı daha iyi diğer nesneler için yoksa normal collisionlar mı
Hitbox ve normal collision ne? Hitboxdan kastınız bir rect sanırım?
evet ve normal collision mesela sprite.spritecollide(…)
Spire.spritecollide zaten sprite’ın rect’ini kullanmıyor mu?
Madem öyle neden çoğu kişi hitbox kullaniyo
Hitbox yerine rect derseniz dediklerinizi daha rahat ayırt edeceğim. Hitbox çok genel bir tabir ama rect pygame’de bulunan bir sınıf.
Bilmem, belki her seferinde get_rect’in çağırılmaması içindir.
Peki neden hitboxi kullanıyorlar rect yerine