簡體   English   中英

pygame 中的蛇游戲無法運行

[英]snake game in pygame doesn't run

import pygame from pygame.locals import * class Snake: def __init__(self, parent_screen): self.parent_screen = parent_screen self.block = pygame.image.load("BLOCK.png") self.x = 100 self.y = 100 def draw(self): self.parent_screen.fill("White") self.parent_screen.blit(self.block, (self.x,self.y)) pygame.display.flip() def move_up(self): self.y -= 10 self.draw() def move_down(self): self.y += 10 self.draw() def move_right(self): self.x += 10 self.draw() def move_left(self): self.x -= 10 self.draw() class game: def __init__(self): pygame.init() self.screen = pygame.display.set_mode((500,500)) self.screen.fill("White") self.snake = Snake(self.screen) self.snake.draw() def run(self): game_on = True while game_on: for event in pygame.event.get(): if event.type == KEYDOWN: if event.key == K_w: self.snake.move_up() elif event.key == K_s: self.snake.move_down() elif event.key == K_a: self.snake.move_left() elif event.key == K_d: self.snake.move_right() elif event.type == QUIT: game_on = False pygame.display.flip() Game = game() Game.run

必須在應用程序中繪制和更新場景:

class game:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((500,500))
        #self.screen.fill("White")                       # <-- DELETE
        self.snake = Snake(self.screen)
        #self.snake.draw()                               # <-- DELETE 
        
    def run(self):
        game_on = True
        while game_on:
            for event in pygame.event.get():
                if event.type == KEYDOWN:
                    if event.key == K_w:
                        self.snake.move_up()
                    elif event.key == K_s:
                        self.snake.move_down()
                    elif event.key == K_a:
                        self.snake.move_left()
                    elif event.key == K_d:
                        self.snake.move_right()

                elif event.type == QUIT:
                    game_on = False

            self.screen.fill("White")                   # <-- INSERT
            self.snake.draw()                           # <-- INSERT
            pygame.display.flip() 

Game = game()
Game.run()                                              # <-- ()

典型的 PyGame 應用循環必須:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM