我从Mission Python书中复制了该程序:
room_map = [[1,1,1,1,1],
[1,0,0,0,1],
[1,0,1,0,1],
[1,0,0,0,1],
[1,0,0,0,1],
[1,0,0,0,1],
[1,1,1,1,1]]
WIDTH = 800 # window size
HEIGHT = 800
top_left_x = 100
top_left_y = 150
DEMO_OBJECTS = [images.floor, images.pillar]
room_height = 7
room_width = 5
def draw():
for y in range(room_height):
for x in range(room_width):
image_to_draw = DEMO_OBJECTS[room_map[y][x]]
screen.blit(image_to_draw,
(top_left_x + (x * 30),
top_left_y + (y * 30) - image_to_draw.get_height()))
当我运行它时,出现此错误:
Traceback (most recent call last):
File "/home/pi/escape/listing3-5.py", line 15, in <module>
DEMO_OBJECTS = [images.floor, images.pillar]
NameError: name 'images' is not defined
我想也许我应该导入Images或一些类似的软件包,但是书中没有提到这样做,所以我不确定。 python文件位于正确的位置,包含我的图像的images文件夹位于同一文件夹中。我是否错过任何明显的事情?
答案 0 :(得分:0)
我找到了解决方案。我试图通过IDLE运行该程序。我应该使用Pygame Zero来运行它。当我执行命令pgzrun listing3-5.py
时,它可以工作。
我想Pygame Zero已经定义了images
。