我在我的ipad上使用pythonista
在Python中制作小游戏。 我做了一个向量类,其中包含坐标和几个函数添加,获得一个长度,设置一个长度。我有另一个类叫做游戏,其中我有我的游戏变量和功能。我可以定义一个向量可以说python中的全局方法或函数
self.pos=vector(200,200)
但如果我要努力出来的长度,我不能调用getlength
功能,因为我在合适的班级我不是。
实例(我已经取出大部分代码):
class vector(objet):
def __init(self,x,y):
self.x=x
self.y=y
def getlength(self):
return sqrt(self.x**2+self.y**2)
def addvec(self,a,b):
return vector(a.x+b.x,a.y,b.y)
class Game(object):
def __init__(self):
self.pos=vector(200,200)
self.pos=vector(200,200)
def loop(self):
## here i want something like d= length of self.pos !!
class MyScene(Scene):
def setup(self):
self.game=Game()
def draw(self):
self.game.loop()
run(MyScene())
感谢, 萨科
编辑:通话
sum=addvec(self.pos,self.pos2)
显然不能因为自己工作是一个游戏类。我该怎么做?
'self.pos.getlength'?你既不想也不需要它成为一个全局函数 - 它是一个有用的*实例方法*。 – jonrsharpe
请使用4个空格来设置缩进级别。 UPD:更好。 – vaultah
当您尝试调用getlength方法时会发生什么? – kindall