Python-在定义其他类之前,如何从它们中获取信息/使用函数



我是python的初学者,我喜欢在pygame模块中进行编码。我一直试图创造乒乓球来更好地学习OOP,但我遇到了一些问题。例如,我尝试制作的一款基本的乒乓球游戏:

import pygame
...
Class Ball:
def __init__(self,x,y,width,height):
...
def check_collide(self):
self.ball_rect.collide(paddle_left.get_rect())
Class Player:
def __init__(self,x,y,w,h):
...
def get_rect():
return self.player_rect

def main():
ball = Ball(400,400,20,20)
paddle_left = Player(20,300, 10, 100)

while True:
draw()
...
main()

在第一节课上,我试图获得left_paddle的当前位置,但显然这给了我一个错误。当其他类还没有定义时,如何从它们中获取信息或使用函数?解决这一问题的更好方法是什么?

您必须将对象实例传递给方法:

class Ball:
def __init__(self,x,y,width,height):
# [...]
def check_collide_paddle(self, paddle):
return self.ball_rect.collide(paddle.get_rect())
def main():
ball = Ball(400,400,20,20)
paddle_left = Player(20,300, 10, 100)
paddle_right = Player(...)

while True:
# [...]
if ball.check_collide_paddle(paddle_left):
# [...]
if ball.check_collide_paddle(paddle_right):
# [...]

最新更新