【发布时间】:2018-07-06 17:33:26
【问题描述】:
当我遇到一个我不理解的错误时,我刚刚在 python pygame 中开始了一个 rougelike 游戏。 代码如下:
Main.py
import pygame
import Textures
pygame.init()
Tiles_Size = 32
BLACK = (0, 0, 0)
def create_window():
global window
window = pygame.display.set_mode((800,600),pygame.HWSURFACE|pygame.DOUBLEBUF)
pygame.display.set_caption('RPG')
create_window()
isRunning = True
while isRunning:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a: #Switch to K_A rather than pygame.K_a
isRunning = False # for glitch! :)
window.fill(BLACK)
for x in range(0, 640, Tiles.Size):
for y in range(0, 480, Tiles.Size):
window.blit(Tiles.Wood, (x, y))
pygame.quit()
Textures.py
import pygame
pygame.init()
class Tiles:
Size = 32
def Load_Texture(file, Size):
bitmap = pygame.image.load(file)
bitmap = pygame.transform.scale(bitmap, (Size, Size))
surface = pygame.Surface((Size, Size), pygame.HWSURFACE|pygame.SRCALPHA)
surface.blit(bitmap, (0, 0))
return surface
Wood = Load_Texture("Graphics\\wood.jpg", Size)
这就是我拥有的所有代码,文件如下
Graphics
wood.jpg
main.py
textures.py
所以这个错误很奇怪。当我运行main.py 文件时,错误很奇怪。使用变量Tiles.Size 和Tiles.Wood,它表示textures.py 文件中的Tiles 类在很明显存在时没有定义!我被这个故障卡住了一段时间并放弃了。然后我又看了一遍,仍然找不到错误。错误是:
Traceback (most recent call last):
File "C:\Users\*********\Desktop\PygameRPG\Main.py", line 26, in <module>
for x in range(0, 640, Tiles.Size):
NameError: name 'Tiles' is not defined
那是我的错误。
一些帮助会很棒!
【问题讨论】:
-
Tiles是在textures.py中定义的,所以当你导入纹理时,你应该调用Textures.Tiles.Size -
我已经尝试过了!
-
忘记输入了,我要编辑!
-
请尝试
Textures.Tiles.Size
标签: python-3.x class pygame