Pyro Man (pygame platformer)

Alpha kanalını değiştirebilirsiniz.
https://www.pygame.org/docs/ref/surface.html#pygame.Surface.set_alpha

1 Beğeni

statü barı diğer barların yani can barı enerji barı ve para barının aşağısına gelecek
StatusBar
kendim tasarladım sizce nasıl

Yazıları bilerek mi yamuk yapıyorsunuz?

hayır ya aseprite programı böyle yapıyor neden anlamadım aslında yardımcı olsanız sevinirim o konuda

Programı bilmiyorum ki. İstiyorsanız yazıları sonradan başka bir programla da ekleyebilirsiniz.

anladım ama nasıl? yani hangi program var bunu yapan yani yazıları resim olarak kaydeten

Paint yapıyor. Hani yüklü gelen basit şey.

ubuntuyada geliyormu :smile:

:smile: unuttum sizin Linux kullandığınızı. Orada da GIMP var.

neyse bir yolunu bulucam şimdi :smiley:

StatusBar

daha oyuna item eklemediğim için öyle
ayrıca yapabilirsem envanter sistemi de eklemek istiyorum

class Skeleton(pg.sprite.Sprite):
    def __init__(self,x,y,game):
        pg.sprite.Sprite.__init__(self)
        self.image=pg.image.load("Skeleton/ide/skide1.png").convert_alpha()
        self.rect=self.image.get_rect(topleft=(x,y))
        self.game=game
        self.direction="right"
        self.count = 0
        self.Health = 100
        self.last_update=pg.time.get_ticks()
        self.wphitbox=pg.Rect(self.rect.centerx,self.rect.centery-45,46,74)
        self.Phitbox= pg.Rect(self.rect.centerx,self.rect.y,225,65)
        self.state="ide"
        self.anims={"walkright":from_folder("Skeleton/walk/"),
                    "walkleft":[pg.transform.flip(image,True,False) for image in from_folder("Skeleton/walk/")],
                    "deadright":from_folder("Skeleton/dead/"),
                    "deadleft":[pg.transform.flip(image,True,False) for image in from_folder("Skeleton/dead/")],
                    "hitright":from_folder("Skeleton/hit/"),
                    "hitleft":[pg.transform.flip(image,True,False) for image in from_folder("Skeleton/hit/")],
                    "attackright":from_folder("Skeleton/attack/"),
                    "attackleft":[pg.transform.flip(image,True,False) for image in from_folder("Skeleton/attack/")],
                    "ideright":from_folder("Skeleton/ide/"),
                    "ideleft":[pg.transform.flip(image,True,False) for image in from_folder("Skeleton/ide/")],
                    "reactright":from_folder("Skeleton/react/"),
                    "reactleft":[pg.transform.flip(image,True,False) for image in from_folder("Skeleton/react/")],
                    }
    def update(self, *args):
        if self.state == "ide":
            self.animStart(self.anims["ide"+self.direction],90)
        if self.state == "hit":
            animstate=self.animStart(self.anims["hit"+self.direction],90,state="ide")


        



        
    def animStart(self,anim: list,FR: int,state=""):
        now = pg.time.get_ticks()
        if now - self.last_update > FR:
            self.last_update = now

            if self.count >= len(anim):
                self.count = 0
                if state:
                   self.state=state

            else:
                self.image = anim[self.count]
                self.count += 1

burada düşmanın bir şey yokken ide animasyonunu oynatmasını hasar almışkende hasar animasyonunu oynatmasını istiyorum nasıl yaparım çünkü yaptığımda ya animasyonun resimlerinin bir kısmını yada hiçbirini göstermiyor

for hit in BulletHitList2:
     hit.state="hit"

buda hasar aldığında statenin değiştiği yer

Canı 100’ün altında olduğunda mı?

Bu Skeleton sınıfının birden fazla örneği oluyor mu?

pg.time.get_ticks fonksiyonu milisaniye cinsinden bir değer döndürüyor, 90 milisaniyede bir animasyonun bir sonraki resmine geçiliyor sanırım (FR 90 çünkü).

evet bir örnek var ve hayır her hasar aldığında

Anlamadım, sadece 1 tane mi örneği var yoksa daha fazla mı?

Hasar niteliğini bir property yapıp setter içinde gerekli değişimi yapmanız daha kolay olmaz mı?

pardon bir den fazla örnek dicektim
ve anlamadım hasar bir nitelik değil
her hasarda health değişkenini 25 azaltıyor
ayrıca animasyonla bunun ne alakası var
:thinking: :neutral_face:

:smile: Kafam karıştı Health demek istedim.



Her örnek için aynı resim dosyalarını en baştan okuyorsunuz, bellekte de boşuna yer kaplıyor. anims değişkenini Skeleton sınıfının içinde tanımlayın.

1 Beğeni