这里没有定义'moveSpeed'是如何使用的?

问题描述 投票:0回答:1

我在网上找到了这个 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
python pygame python-idle
1个回答
1
投票
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) 也会做同样的事情。

© www.soinside.com 2019 - 2024. All rights reserved.