import pygame import sys # Inisialisasi Pygame pygame.init() # Konfigurasi layar WIDTH, HEIGHT = 800, 400 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Animasi Anak Menarik Papan") # Warna BLACK = (0, 0, 0) WHITE = (255, 255, 255) BROWN = (139, 69, 19) BLUE = (0, 100, 200) SKIN = (255, 220, 177) # Font font = pygame.font.SysFont('Arial', 24, bold=True) # Posisi awal anak child_x = WIDTH + 50 # Mulai dari luar layar kanan child_y = HEIGHT - 100 speed = 2 # Fungsi menggambar anak def draw_child(x, y): # Kepala pygame.draw.circle(screen, SKIN, (x, y), 15) # Badan pygame.draw.line(screen, BLUE, (x, y + 15), (x, y + 50), 3) # Tangan (menarik papan) pygame.draw.line(screen, SKIN, (x, y + 25), (x - 30, y + 20), 3) # Kaki (sedikit bergerak untuk efek jalan) leg_offset = 5 if pygame.time.get_ticks() % 500 < 250 else -5 pygame.draw.line(screen, BLUE, (x, y + 50), (x - 10, y + 70 + leg_offset), 3) pygame.draw.line(screen, BLUE, (x, y + 50), (x + 10, y + 70 - leg_offset), 3) # Fungsi menggambar papan def draw_board(x, y): # Papan board_rect = pygame.Rect(x - 80, y - 20, 100, 60) pygame.draw.rect(screen, BROWN, board_rect) pygame.draw.rect(screen, BLACK, board_rect, 2) # Tali pygame.draw.line(screen, BLACK, (x - 30, y + 20), (x - 80, y), 2) # Teks text = font.render("Semangat", True, WHITE) text2 = font.render("Bocil", True, WHITE) screen.blit(text, (x - 75, y - 15)) screen.blit(text2, (x - 75, y + 5)) # Main loop clock = pygame.time.Clock() running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # Update posisi anak child_x -= speed # Reset posisi jika sudah keluar layar if child_x < -100: child_x = WIDTH + 50 # Gambar latar belakang screen.fill(BLACK) # Gambar objek draw_child(child_x, child_y) draw_board(child_x, child_y) # Update layar pygame.display.flip() clock.tick(60) pygame.quit() sys.exit()