Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 引用初始化中建立的属性时出错_Python_Object_Attributes_Pygame - Fatal编程技术网

Python 引用初始化中建立的属性时出错

Python 引用初始化中建立的属性时出错,python,object,attributes,pygame,Python,Object,Attributes,Pygame,我正在制作一个第三人称射击游戏,我有一个玩家对象。我在初始化中设置x和y值,如下所示 class Player(): def ____init____(self): self.x = 500 self.y = 300 然后在后面涉及运动的函数中引用它们: def move(self): for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if

我正在制作一个第三人称射击游戏,我有一个玩家对象。我在初始化中设置x和y值,如下所示

class Player():
def ____init____(self):
    self.x = 500
    self.y = 300
然后在后面涉及运动的函数中引用它们:

    def move(self):
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT and self.x < 720:
                self.x += 2.5
            if event.key == pygame.K_LEFT and self.x > 280:
                self.x -= 2.5
            if event.key == pygame.K_UP and self.y > 80:
                self.y -= 2.5
            if event.key == pygame.K_DOWN and self.y < 520:
                self.y += 2.5

有人能解释一下我为什么会出错吗?我在初始化中定义了x,所以我不知道为什么。提前感谢。

请注意,
def\uuuu init\uuu()
init
单词前后应该只有两个下划线。另外,我认为您必须在
class Player()
下正确缩进
def\uuu init\uuuuuuuuuuuuuuuuuuu()
块,在
move
函数下缩进
进行
迭代,并且在
if
条件下缩进

class Player():
    def __init__(self):
        self.x = 500
        self.y = 300
    def move(self):
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_RIGHT and self.x < 720:
                    self.x += 2.5
                if event.key == pygame.K_LEFT and self.x > 280:
                    self.x -= 2.5
                if event.key == pygame.K_UP and self.y > 80:
                    self.y -= 2.5
                if event.key == pygame.K_DOWN and self.y < 520:
                    self.y += 2.5
class Player():
定义初始化(自):
自身x=500
self.y=300
def移动(自我):
对于pygame.event.get()中的事件:
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_RIGHT和self.x<720:
self.x+=2.5
如果event.key==pygame.K_LEFT且self.x>280:
self.x-=2.5
如果event.key==pygame.K_UP且self.y>80:
自组织y-=2.5
如果event.key==pygame.K_向下且self.y<520:
self.y+=2.5

/ogs

注意
def\uuuu init\uuuu()
init
单词前后应该只有两个下划线。另外,我认为您必须在
class Player()
下正确缩进
def\uuu init\uuuuuuuuuuuuuuuuuuu()
块,在
move
函数下缩进
进行
迭代,并且在
if
条件下缩进

class Player():
    def __init__(self):
        self.x = 500
        self.y = 300
    def move(self):
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_RIGHT and self.x < 720:
                    self.x += 2.5
                if event.key == pygame.K_LEFT and self.x > 280:
                    self.x -= 2.5
                if event.key == pygame.K_UP and self.y > 80:
                    self.y -= 2.5
                if event.key == pygame.K_DOWN and self.y < 520:
                    self.y += 2.5
class Player():
定义初始化(自):
自身x=500
self.y=300
def移动(自我):
对于pygame.event.get()中的事件:
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_RIGHT和self.x<720:
self.x+=2.5
如果event.key==pygame.K_LEFT且self.x>280:
self.x-=2.5
如果event.key==pygame.K_UP且self.y>80:
自组织y-=2.5
如果event.key==pygame.K_向下且self.y<520:
self.y+=2.5
/食人魔