Pygame pixel perfect

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.

resim 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/

1 Beğeni

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?

1 Beğeni

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