【发布时间】:2021-11-25 14:57:31
【问题描述】:
我正在尝试构建一个船舶应该射击一些东西的游戏,我正在尝试获取船舶位置并将其传递给生成射击的函数,但我不能这样做,我尝试了以下方法:
ship.py
def __init__(self):
super().__init__()
self.ship = Turtle(shape='turtle')
self.ship.penup()
self.ship.color('white')
self.ship.goto(0, -250)
self.ship.left(90)
self.x = self.ship.xcor()
def get_pos(self):
return self.x
shoot.py
def shoot_now(self, pos):
print(pos)
首先尝试使用 ship.get_pos() main.py
screen.onkeypress(functools.partial(shots.shoot_now, ship.get_pos()), 'space')
第二次尝试 wuth ship.get_pos
screen.onkeypress(functools.partial(shots.shoot_now, ship.get_pos), 'space')
第一个结果是很多 0,第二个结果是这样的:
<bound method Ship.get_pos of <ship.Ship object at 0x000001F05339A520>>
我知道函数 get_pos 正在工作,因为每次我单独运行它时它都会打印正确的位置,但是当我尝试使用 onkeypress 将值传递给 shoot.py 时它不起作用。
有人知道让它工作的方法吗?
【问题讨论】:
标签: python python-turtle