Pygame pixel perfect

Anlatamadım sanırım, hitbox genel bir tabir. Pygame’de bulunan bir sınıf veya yöntem değil.

Biliyorum bende zaten pygamein sınıfından bahsetmedim ben o yöntemini kullanmalıyım bu yontemimi çünkü düşmanın kılıcı kendisinden büyük ikisinide ayrı yapmak istiyorum o yüzden ikisininde ayrı sınırlara almak istiyordum

Bir rect:self.rect = pygame.Rect
Bir hitbox:hitbox=(15,10)

Daha sonra bu hitbox’u çarpışma algılama için nasıl kullanıyorsunuz peki?

Telefondan kodu yazamıyorum ama burada mermi ile düşman arasındaki hitbox collisionu kontrol ediyor https://techwithtim.net/tutorials/game-development-with-python/pygame-tutorial/pygame-collision/

Şu kodu mu diyorsunuz?

if bullet.y - bullet.radius < goblin.hitbox[1] + goblin.hitbox[3] and bullet.y + bullet.radius > goblin.hitbox[1]: # Checks x coords
    if bullet.x + bullet.radius > goblin.hitbox[0] and bullet.x - bullet.radius < goblin.hitbox[0] + goblin.hitbox[2]: # Checks y coords
        goblin.hit() # calls enemy hit method
        bullets.pop(bullets.index(bullet)) # removes bullet from bullet list

Peki niçin pygame.Rect.colliderect yerine fonksiyon haline bile getirilmemiş bu kodu kullanalım ki?

Bir de anladığım kadarı ile bu kod bir dikdörtgen ile bir dairenin çarpışıp çarpışmadığını kontrol ediyor, sizin dairelerle işiniz varmı?

Sanırım hitboxi diyorsunuz ben silah ile karakterin collide sini ayırmak için istiyorum ama evet bwnde koddan bir cacık anlamadim

Peki onerebilwceginiz başka bir çözüm var mi

Tek yapmanız gereken iki tane pygame.Rect örneği oluşturmak değil mi?

Evet mantıklı ama o zaman image.get_rect kullanmam çünkü karakterle silah bagli

1 Beğeni

Ee bunu söylemiştim zaten…

1 Beğeni

Anladım peki nasıl yapicam

Ya teker teker deneyeceksiniz, ya bunun için tasarlanmış bir editör bulacaksınız ya da bu editörü kendiniz oluşturacaksınız.

Ve saldırı anında silahın bulunduğu bölgeye bir rect nesnesi yapsam ve eğer düşman saldırı anında o bolgedesye hasar gorse

Anlamadim ne editoru.

Bir resmi rect rect bolemezmiyim

Hadi böldük resmi nasıl bastircam

Zaten öyle yapacaksınız, önemli olan silahın bulunduğu bölgeyi bulmak.

O bölgeyi elle belirlemenizi sağlayacak bir arayüz.

Resmi parçalara mı ayıracaksınız?

Evet benim konuyu açma sebebim bu karakter düşmana zipladiginda bug oluyor

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?
----------------±---------------±-------------------±--------------
Demiştim bunu