पाइगेम में, कोई एक गोली बना सकता है जिसे माउस की दिशा में फायर किया जाता है। ऐसा करने के लिए, किसी को एक क्लास बनाने की आवश्यकता होगी जो बुलेट का प्रतिनिधित्व करती है और माउस स्थिति के आधार पर इसकी प्रारंभिक स्थिति और दिशा निर्धारित करती है।
बुलेट के लिए क्लास
सबसे पहले, बुलेट के लिए एक क्लास बनाएं। इस वर्ग में गोली की स्थिति, आकार और सतह के लिए विशेषताएँ शामिल होनी चाहिए। सतह वह है जो स्क्रीन पर प्रस्तुत की जाएगी।
import pygame
class Bullet:
def __init__(self, x, y):
self.x = x
self.y = y
self.height = 7
self.width = 2
self.bullet = pygame.Surface((self.width, self.height))
self.bullet.fill((255, 255, 255))
गेम क्लास फ़ंक्शंस
इसके बाद, गेम के लिए एक क्लास बनाएं। इस वर्ग में गोली चलाने और गोलियां बनाने के कार्य शामिल होंगे।
class Game:
def __init__(self):
self.bullets = []
def shoot_bullet(self):
mouse_x, mouse_y = pygame.mouse.get_pos() # Get the mouse position
for bullet in self.bullets:
rise = mouse_y - bullet.y # Calculate the difference between mouse and bullet y position
run = mouse_x - bullet.x # Calculate the difference between mouse and bullet x position
angle = math.atan2(rise, run) # Calculate the angle between mouse and bullet
bullet.x = math.cos(angle) * 10 # Update bullet x position
bullet.y = math.sin(angle) * 10 # Update bullet y position
# Rotate and draw the bullet
rotated_bullet = pygame.transform.rotate(bullet.bullet, -math.degrees(angle))
screen.blit(rotated_bullet, (bullet.x, bullet.y))
def generate_bullet(self):
mouse_buttons = pygame.mouse.get_pressed() # Check if mouse is clicked
if mouse_buttons[0]: # If left mouse button is clicked
self.bullets.append(Bullet(player.x, player.y)) # Create a new bullet
बुलेट क्लास का उपयोग करके
मुख्य गेम लूप में, गेम क्लास का एक उदाहरण बनाएं और शूट_बुलेट और जेनरेट_बुलेट फ़ंक्शन को कॉल करें।
game = Game()
while running:
# Event handling
# Update
game.shoot_bullet()
game.generate_bullet()
# Draw
screen.fill((0, 0, 0))
for bullet in game.bullets:
screen.blit(bullet.bullet, (bullet.x, bullet.y))
pygame.display.update()
यह कोड एक बुलेट बनाएगा जिसे माउस की दिशा में शूट किया जाएगा। गोली तब तक चलती रहेगी जब तक वह स्क्रीन से बाहर नहीं निकल जाती।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3