मैं Pygame (पाइथन लाइब्रेरी) के साथ बनाया गया एक सरल गेम विकसित करने की कोशिश कर रहा हूं।
मेरे पास एक sprite
ऑब्जेक्ट है जो कि है player
और मैं इसे तीर कुंजियों का उपयोग करके स्थानांतरित करता हूं। यदि मैं माउस को स्थानांतरित नहीं करता हूं, तो स्प्राइट सामान्य रूप से चलता है, लेकिन जब मैं माउस को स्थानांतरित करता हूं, तो स्प्राइट तेजी से बढ़ता है (जैसे x2 या 3)। player
ऑब्जेक्ट के अंदर है charsGroup
वर।
मैंने डब्ल्यू 7 और उबंटू में खेल चलाया है। दोनों ओएस में एक ही बात होती है।
मेरे पास और भी संस्थाएं हैं जो एनपीसी और गोलियों की तरह चलती हैं लेकिन वे प्रभावित नहीं होती हैं, सिर्फ खिलाड़ी। इसे देखते हुए, मुझे लगता है कि इस समस्या का खिलाड़ी के चलती प्रणाली (तीर कुंजी) के साथ सीधा संबंध है।
यहाँ वस्तु की update()
विधि है 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
और यहाँ लूप है:
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()
मुझे नहीं पता कि आपको मेरी मदद करने के लिए और क्या चाहिए, लेकिन जिस चीज़ की आपको ज़रूरत है (अधिक जानकारी या कोड) बस उसके लिए पूछें!
BULLET_IMAGE = pygame.image.load("bullet.png")
और फिर बाद मेंself.bulletsGroup.add(Bullet(BULLET_IMAGE...