Pygame (Python kütüphanesi) ile yapılan basit bir oyun geliştirmeye çalışıyorum.
Bir sprite
nesnem var player
ve ok tuşlarını kullanarak hareket ettiriyorum. Fareyi hareket ettirmezsem hareketli grafik normal hareket eder, ancak fareyi hareket ettirdiğimde hareketli grafik daha hızlı hareket eder (x2 veya x3 gibi). player
Nesne içinde olan charsGroup
var.
Oyunu W7 ve Ubuntu'da çalıştırdım. Her iki işletim sisteminde de aynı şey olur.
NPC'ler ve mermiler gibi hareket eden daha fazla varlığım var ama etkilenmiyorlar, sadece oyuncu. Bu göz önüne alındığında, sorunun belki oyuncu hareket sistemi (ok tuşları) ile doğrudan bir bağlantısı olduğunu düşünüyorum.
İşte nesnenin update()
yöntemi player
:
def update(self):
for event in pygame.event.get():
key = pygame.key.get_pressed()
mouseX, mouseY = pygame.mouse.get_pos()
if event.type == pygame.MOUSEBUTTONDOWN:
self.bulletsGroup.add(Bullet(pygame.image.load("bullet.png"),
self.rect.x + (self.image.get_width()/2),
self.rect.y + (self.image.get_height()/2),
mouseX, mouseY, 50, 50))
if key[pygame.K_RIGHT]:
if not self.checkCollision():
self.rect.x += 10
else:
self.rect.x -= 10
if key[pygame.K_LEFT]:
if not self.checkCollision():
self.rect.x -= 10
else:
self.rect.x += 10
if key[pygame.K_UP]:
if not self.checkCollision():
self.rect.y -= 10
else:
self.rect.y += 10
if key[pygame.K_DOWN]:
if not self.checkCollision():
self.rect.y += 10
else:
self.rect.y -= 10
İşte while döngüsü:
while True:
if PLAYER.healthBase <= 0:
GAMEOVER = True
if not GAMEOVER:
mapTilesGroup.draw(SCREEN)
charsGroup.update()
charsGroup.draw(SCREEN)
npcsGroup.update()
npcsGroup.draw(SCREEN)
drawBullets()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if GAMEOVER:
myfont = pygame.font.SysFont("monospace", 30)
label = myfont.render("GAME OVER!", 1, (255, 255, 0))
SCREEN.blit(label, (400, 300))
freq.tick(0)
pygame.display.flip()
Bana daha ne yardım edebilirsin bilmiyorum, ama ihtiyacınız olan her şey (daha fazla bilgi veya kod) sadece isteyin!
BULLET_IMAGE = pygame.image.load("bullet.png")
ve daha sonraself.bulletsGroup.add(Bullet(BULLET_IMAGE...