如何解决Python-如何在定义其他类之前从其他类获取信息/使用它们?
我是python的初学者,我喜欢pygame模块中的编码。我一直在尝试创建pong,以更好地学习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,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):
# [...]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。