gpt4 book ai didi

python - 遵循 YouTube 上的 Pygame/Python 教程时出现语法错误

转载 作者:行者123 更新时间:2023-12-01 05:40:08 26 4
gpt4 key购买 nike

我刚刚下载了 python 3.3.2 和 pygame-1.9.2a0.win32-py3.3.msi 。我决定在 YouTube 上尝试一些教程,看看它们是否有效。

我已经尝试了 thenewboston 的“游戏开发教程 - 2 - 基本 Pygame 程序”,看看它是否有效。它应该产生黑色背景和一个作为鼠标的球(或者我认为是这样)。当我尝试运行它时,它会出现语法错误,如果我删除它,它只会产生一个黑色的 pygame 窗口。这是代码:

bgg="bg.jpg"
ball="ball.png"

import pygame, sys
from pygame.locals import *

pygame.init()
screen=pygame.display.set_mode((540,341),0,32)

background=pygame.image.load(bgg).convert()
mouse_c=pygame.image.load(ball).convert_alpha()

while True:
for event in pygame.event.get():
if event.type ==QUIT:
pygame.quit()
sys.exit()

screen.blit(background), (0,0))

screen.blit(bakcgorund, (0,0))命令是问题所在,当它出现语法错误时,它会突出显示命令最右侧的第二个括号。如果我删除它,它只会显示一个黑色的 pygame 窗口。谁能帮助我吗?

最佳答案

我更新了您的代码:

import pygame
from pygame.locals import *
#about: pygame boilerplate

class GameMain():
# handles intialization of game and graphics, as well as game loop
done = False

def __init__(self, width=800, height=600):
"""Initialize PyGame window.

variables:
width, height = screen width, height
screen = main video surface, to draw on

fps_max = framerate limit to the max fps
limit_fps = boolean toggles capping FPS, to share cpu, or let it run free.
now = current time in Milliseconds. ( 1000ms = 1second)
"""
pygame.init()

# save w, h, and screen
self.width, self.height = width, height
self.screen = pygame.display.set_mode(( self.width, self.height ))
pygame.display.set_caption( "pygame tutorial code" )

self.sprite_bg = pygame.image.load("bg.jpg").convert()
self.sprite_ball = pygame.image.load("ball.png").convert_alpha()


def main_loop(self):
"""Game() main loop."""
while not self.done:
self.handle_events()
self.update()
self.draw()

def draw(self):
"""draw screen"""
self.screen.fill(Color('darkgrey'))

# draw your stuff here. sprites, gui, etc....
self.screen.blit(self.sprite_bg, (0,0))
self.screen.blit(self.sprite_ball, (100,100))


pygame.display.flip()

def update(self):
"""physics/move guys."""
pass

def handle_events(self):
"""handle events: keyboard, mouse, etc."""
events = pygame.event.get()
kmods = pygame.key.get_mods()

for event in events:
if event.type == pygame.QUIT:
self.done = True
# event: keydown
elif event.type == KEYDOWN:
if event.key == K_ESCAPE: self.done = True

if __name__ == "__main__":
game = GameMain()
game.main_loop()

关于python - 遵循 YouTube 上的 Pygame/Python 教程时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17764181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com