我看不出这里有什么问题
这是我看了几个小时的代码。我觉得可能是Lion系统上的一个Python bug。我使用的是Python 2.7。
import os, pygame
from pygame.locals import *
import spritesheet
import sound
from map import Level
level = Level()
level.loadFile("level.map")
pygame.init()
screen = pygame.display.set_mode((640, 480))
background = level.render(spritesheet.spritesheet("spritesheet.bmp"))
pygame.display.set_caption('Game')
character=spritesheet.spritesheet("spritesheet.bmp").image_at(pygame.rect.Rect(64, 64, 32, 32), colorkey = (255, 255, 255))
#Create The Backgound
background.blit(character, (304, 224))
screen.blit(background, (0, 0))
clock = pygame.time.Clock()
level.setTile(1, 1, "3")
pygame.display.flip()
xoffset=0
yoffset=0
while True:
background = level.render(spritesheet.spritesheet("spritesheet.bmp"))
background.blit(character, (304, 224))
screen.blit(background, (0+xoffset, 0+yoffset))
pygame.display.flip()
for event in pygame.event.get():
if event.type==QUIT:
exit()
elif event.type == KEYDOWN:
if event.key == K_w:
yoffset-=5
if event.key == s:
yoffset+=5
它返回了这个结果:
File "main.py", line 30
elif event.type == KEYDOWN:
^
IndentationError: unindent does not match any outer indentation level
我找不到任何错误。
2 个回答
1
你的代码看起来是对的。可以通过运行 $ python -t yourcode.py
来检查一下,确保空格和制表符没有混在一起。这个命令会开启一个检查工具,帮你找出问题。
5
确保你在缩进时没有混用制表符和空格。你的编辑器可能认为一个制表符的宽度是4个空格,而Python解释器可能认为是其他值。如果你有些行是用空格缩进的,有些行是用制表符缩进的,编辑器看起来是对齐的,但Python解释器可能会觉得不对齐。