我试图在编程中大量使用类和OOP,并试图将我的基本游戏窗口设置为一个display类,当调用该类时,它将创建游戏窗口,并完成所有pygame初始化。在
我已经完成了一个视图教程,但很难找到一个封装pygame.display调用一个类。这是因为pygame不能正常工作吗?在
我玩的时候最常见的错误是
Traceback (most recent call last):
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 13, in <module>
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 27, in Display
NameError: name 'Display' is not defined
如果我修改我的代码(通过替换class Display(object):-->;class Display(width,height,tilesize),这是我试图传递的值,我会得到一个错误:
^{pr2}$只是想弄清楚这个错误是在我的语法中,还是在尝试不可能的事情。 谢谢:)
import pygame
from pygame.locals import *
#Constants
TILESIZE = 32
MAPWIDTH = 16
MAPHEIGHT = 16
#variables
playing = True
#Creates Display Window
class Display(object):
def __init__(self, width, height, tilesize):
pygame.init()
pygame.display.set_icon("player.jpg")
pygame.display.set_caption("FarmTown Version 1.0")
self.SCREEN_WIDTH = width * tilesize
self.SCREEN_HEIGHT = height * tilesize
self.myScreen = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
def update():
pygame.display.flip()
#Set Up Everything To Play
myDisplay = Display(MAPWIDTH, MAPHEIGHT, TILESIZE)
#Game Loop Begins
while playing:
#Display the surface
myDisplay.update()
myDisplay是缩进的,因此python认为它是Display类的一部分。不能在类的定义内创建类的实例。另外,set_icon需要pygame Surface对象,而不是文件的路径。要解决此问题,请执行以下操作:
最后,您应该更改:
^{pr2}$为此:
^{3}$相关问题 更多 >
编程相关推荐