Alpha kanalını değiştirebilirsiniz.
https://www.pygame.org/docs/ref/surface.html#pygame.Surface.set_alpha
statü barı diğer barların yani can barı enerji barı ve para barının aşağısına gelecek
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
unuttum sizin Linux kullandığınızı. Orada da GIMP var.
neyse bir yolunu bulucam şimdi
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
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.