我在我的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