나는 간단한 Pong 게임을 쓰고있다. 내 패들과 내 Ball 객체 모두 DynamicObj (기본 간단한 오일러 통합을 사용하여 위치를 틱하는 update
메서드가있는 부모 클래스)에서 상속 받기를 원합니다. 문제는 패들 객체의 위치가 rect에 저장되므로 (x pos가 rect.x를 사용하여 액세스 됨) Ball 객체의 위치가 x 및 y 값에 저장된다는 것입니다. 자신의 직위를 똑같이 똑같이 상속받을 수있는 방법이 있습니까?부모가 자식과 다른 변수 이름을 가지고있다
class DynamicObj:
def __init__(self, vel):
self.vel = vel
def update(self, delta):
self.x += self.vel.x * delta
self.y += self.vel.y * delta
class Ball(DynamicObj):
def __init__(self, x, y, radius, vel):
self.x = x
self.y = y
self.radius = radius
self.vel = vel
class Paddle(DynamicObj):
def __init__(self, rect, vel):
self.rect = rect
self.vel = vel
#what I want is to create self.x and self.y that respectively point to the same place as self.rect.x and self.rect.y
나는 아마도 property
으로 이렇게 생각했다 :
는 여기에 지금까지 무슨이다.
귀하의 조언에 감사드립니다. 그렇습니다. 한 가지 해결책은 직사각형을 사용하여 볼의 위치를 나타내는 것이지만 불필요한 오버 헤드가 추가 될 것이라고 생각했습니다. 또한 원에 대한 충돌 감지는 직사각형보다 저렴합니다 (4면을 비교할 필요없이 두 원 사이의 거리를 비교할 수 있음). – Lanaru