import pygame
import random
import itertools
import sys
SCREENWIDE = 822
SCREENHEIGHT = 199
FPS = 30
class MyMap():
def __init__(self, x, y):
# 加载背景图片
self.bg = pygame.image.load("image/bg.png").convert_alpha()
self.x = x
self.y = y
def map_rolling(self):
if self.x < -790: # 小于-790说明地图已经完全移动完毕
self.x = 800 # 给地图一个新的坐标点
else:
self.x -= 5 # 5个像素向左移动
# 更新地图
def map_update(self):
SCREEN.blit(self.bg, (self.x, self.y))
def mainGame():
score = 0
over = False
global SCREEN, FPSCLOCK
pygame.init() # 初始化
FPSCLOCK = pygame.time.Clock()
SCREEN = pygame.display.set_mode((SCREENWIDE, SCREENHEIGHT)) # 设置窗体大小
pygame.display.set_caption('玛丽冒险') # 窗体标题
bg1 = MyMap(0, 0)
bg2 = MyMap(800, 0)
while True:
for event in pygame.event.get(): # 循环监听
if event == pygame.quit():
pygame.quit()
sys.exit()
if over == False:
bg1.map_update()
bg1.map_rolling()
bg2.map_update()
bg2.map_rolling()
if __name__ == '__main__':
mainGame()
抄了一个pygame的案例,在使用blit函数让地图移动的时候为什么会报错啊