اركض بسرعة
الدرس 6 من 41 في دورة اصنع ألعابًا باستخدام Pygame على Coddy.
يمكن أن يتغير المتغير في كل إطار، اعتمادًا على ما يفعله اللاعب. هنا تعتمد السرعة على ما إذا كان مفتاح المسافة مضغوطًا.
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8يبدأ كل إطار بالسرعة العادية، 4. لا يرفع السرعة إلى 8 إلا الإطار الذي يكون فيه مفتاح المسافة مضغوطًا. اترك مفتاح المسافة، وستعود السرعة إلى 4 في الإطار التالي.
عيّن القيمة العادية أولًا، ثم القيمة الخاصة بعدها. إذا عكست الترتيب، فستكون للسطر الثاني الغلبة دائمًا، ولن يفعل مفتاح المسافة شيئًا.
التحدي
سهلاجعل اللاعب يركض بسرعة عندما يكون مفتاح المسافة مضغوطًا.
- أزل
speed = 4من الموضع الذي يسبق الحلقة. - في الحلقة، مباشرةً بعد
keys = pygame.key.get_pressed()، عيّنspeed = 4، ثم عيّنه إلى8إذا كان مفتاح المسافة مضغوطًا.
اضغط على «العب» وأبقِ مفتاح المسافة مضغوطًا مع أحد مفاتيح الأسهم: سيتحرك المربع بسرعة مضاعفة. ثم اضغط على «تحقق».
جرّب بنفسك
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()
x, y = 220, 160
speed = 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
جميع دروس اصنع ألعابًا باستخدام Pygame
تدرّب بنفسك: Playground لـ Pygame