Pygame中的NameError - 未定义全局名称“name”

时间:2013-11-10 22:14:01

标签: python class pygame

我在Pygame中写了一个简单的游戏,但是我遇到了一个麻烦的错误。我将一组与在两个独立函数中绘制运动矢量相关的代码分组,每个函数对应一个。

from __future__ import division
import math
import sys
import pygame


class MyGame(object):
    def __init__(self):
        pass

    def cat_chase():
        # bunch of code here

    def dog_chase():    
        # more code

    def run(self):
        # event handling           

    def draw(self):
        """Update the display"""
        self.screen.fill(self.bg_color)

        self.cat_chase()
        self.dog_chase()


        pygame.display.flip()

MyGame().run()
pygame.quit()
sys.exit()

然后,我得到的错误是:

    NameError: global name 'cat_chase' is not defined

我想知道为什么没有定义cat_chase?提前谢谢。

1 个答案:

答案 0 :(得分:4)

为您的方法添加self参数:

def cat_chase(self):
    ...

def dog_chase(self):
    ...

所以你可以称之为:

obj.cat_chase()