我在网上找到了这个 pygame 项目,我很好奇'moveSpeed'是如何被用作一个数字的?
def move(self, moveSpeed):
self.x -= moveSpeed
class HurdleManager:
def __init__(self, scale, spawnRange):
self.img = transform.scale(image.load('homework.png'), (7 * scale, 15 * scale))
self.spawnRange = spawnRange
self.hurdleList = []
self.scale = scale
def update(self, doSpawn, moveSpeed):
if doSpawn:
self.spawn()
self.manage(moveSpeed)
def manage(self, moveSpeed):
hurdles2 = []
for hurdle in self.hurdleList:
hurdle.update(moveSpeed)
if hurdle.onScreen():
hurdles2.append(hurdle)
self.hurdleList = hurdles2
spawnTick = 0
def spawn(self):
if self.spawnTick >= self.spawnRange[1]:
newHurdle = HurdleClass(windowX, self.img, 7 * self.scale, 15 * self.scale)
self.hurdleList.append(newHurdle)
self.spawnTick = 0
elif self.spawnTick > self.spawnRange[0]:
if random.randint(0, self.spawnRange[1] - self.spawnRange[0]) == 0:
newHurdle = HurdleClass(windowX, self.img, 7 * self.scale, 15 * self.scale)
self.hurdleList.append(newHurdle)
self.spawnTick = 0
self.spawnTick += 1
hurdleManager = HurdleManager(3, (45, 90))
class HurdleClass:
def __init__(self, x, img, width, height):
self.x = x
self.img = img
self.width = width
self.height = height
self.y = ground - height
def update(self, moveSpeed):
self.move(moveSpeed)
self.show()
def move(self, moveSpeed):
self.x -= moveSpeed
def show(self):
window.blit(self.img, (self.x, self.y))
def onScreen(self):
if self.x + self.width > 0:
return True
else:
return False
def move(self, moveSpeed):
def move
说 "我正在创建一个函数定义。当我完成它的定义后,我希望该函数能够绑定到当前作用域中的名称 "move "上。另外,该函数可以使用当前作用域的绑定。"
(self, moveSpeed)
说 "要运行这个函数,我需要两个参数。第一个叫self,第一个叫moveSpeed。"
一个参数也被称为参数。就像被要求切蛋糕时,你可能会问 "哪个蛋糕?"和 "哪把刀?"。在大多数编程语言中,你按照每个参数被声明的顺序传递参数(也称为参数)。例如,给定。
def cut(cake, knife):
...
写作 cut(a, b)
会 "叫 "来 cut
与调用者的 "a "绑定在被调用函数的 "cake "变量上,与调用者的 "b "绑定在被调用函数的 "刀 "变量上。
在Python中,你也可以明确地给出参数的名称。例如 cut(cake=a, knife=b)
会做同样的事情。这些被称为 "关键字参数"。当你使用关键字参数时,你不需要按照声明顺序传递东西。例如 cut(knife=b, cake=a)
也会做同样的事情。