我在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?提前谢谢。
答案 0 :(得分:4)
为您的方法添加self
参数:
def cat_chase(self):
...
def dog_chase(self):
...
所以你可以称之为:
obj.cat_chase()