직사각형을 사용하여 가능한 한 자기 타원으로 이미지를 가져올 수 있습니까? 그렇지 않다면 둥근 물체가 실제로 다른 사각형 물체를 만질 때 다른 둥근 물체를 튀게하는 방법이 있습니다. 이게 내가 가진거야. 어떤 모양을 사용하여 collsion을 확인하기 위해 비트 맵을 사용하는 -이 개 스프라이트개체에 자체 타원 만들기
pygame.sprite.collide_mask() 사이에 충돌을 확인 원을 사용하는 -
class Ball(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load('Ball 2.png')
self.rect= self.image.get_rect()
self.rect.midbottom = (Width/2, Height/2)
self.speedx = random.randint(ballspeedx, ballspeedx)
self.speedy = random.randint(ballspeedy, ballspeedy)
def update(self):
self.rect.left += self.speedx
self.rect.top += self.speedy
if self.rect.right > Width or self.rect.left < 0:
self.speedx = -self.speedx
if self.rect.bottom > Height or self.rect.top < 20:
self.speedy = -self.speedy
class You(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load('Ball.png')
self.rect = self.image.get_rect()
self.rect.midbottom = (10, Height -10)
def update(self):
if self.rect.right > Width:
self.rect.right = Width
if self.rect.left < 0:
self.rect.left = 0
if self.rect.bottom > Height:
self.rect.bottom = Height
if self.rect.top < 20:
self.rect.top = 20
ball = Ball()
you = You()
Start = pygame.sprite.Group()
Start.add(ball)
Start2 = pygame.sprite.Group()
Start2.add(you)
if pygame.sprite.spritecollide(you, Start, False):
running = False
타원이라고 부르지 만 설명하는 내용은 * 원 *입니다. 'collide_rect'의 [documentation] (http://www.pygame.org/docs/ref/sprite.html)에 있습니다. – usr2564301
질문이 명확하지 않지만 원 개체의 물리학을 구현하려면 [이 튜토리얼] (http://www.petercollingridge.co.uk/pygame-physics-simulation/collisions)을 살펴보십시오. 피터 콜링 리지. 또한, [Pymunk] (http://www.pymunk.org/en/latest/)는 매우 멋지지만,이 라이브러리에 익숙해 지려면 시간이 좀 걸릴 수 있습니다. – skrx