בלוק נופל
שיעור 10 מתוך 40 בקורס יוצרים משחקים עם Pygame של Coddy.
משהו נופל הוא משהו שערך ה-y שלו גדל בכל פריים. הפוך גם את הבלוק ל-Rect, והוסף לערך ה-y שלו בכל איטרציה של הלולאה:
block = pygame.Rect(220, 0, 20, 20)
while running:
# אירועים ומקשים
block.y += 3
# מילוי, ציורבקצב של 60 פריימים בשנייה, 3 פיקסלים לפריים הם 180 פיקסלים בשנייה. גובה החלון הוא 360, ולכן לבלוק לוקחות שתי שניות להגיע לתחתית.
הבלוק ממשיך ליפול גם אחרי שהוא יוצא מהחלון. עדיין אין שום דבר שעוצר אותו; השיעור הבא יחזיר אותו.
אתגר
קל- מתחת לסל, צרו
block = pygame.Rect(220, 0, 20, 20). - בלולאה, אחרי שהסל זז, הוסיפו 3 ל־
block.y. - ציירו את הבלוק באדום
(235, 80, 80)אחרי הסל.
נסו בעצמכם
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()
basket = pygame.Rect(200, 330, 80, 16)
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]:
basket.x -= 8
if keys[pygame.K_RIGHT]:
basket.x += 8
basket.clamp_ip(screen.get_rect())
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 160, 255), basket)
pygame.display.flip()
clock.tick(60)
pygame.quit()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יוצרים משחקים עם Pygame
2אירועים והתנגשויות
הסלבלוק נופלתרגלו בעצמכם: Pygame אונליין