파이게임에서 충돌 감지
-
Pygame에서
rect.collidepoint()
를 사용하여 충돌 감지 -
Pygame에서
rect.colliderect()
를 사용하여 충돌 감지 -
Pygame에서
rect.collidelist()
또는rect.collidelistall()
을 사용하여 충돌 감지 -
Pygame에서
rect.collidedict()
또는rect.collidedictall()
을 사용하여 충돌 감지
파이게임에서 충돌을 감지하는 방법에는 여러 가지가 있으며 이 기사에서는 그 중 일부를 다룰 것입니다.
여기에 표시된 코드는 유효한 파이게임 창에 대한 완전한 코드가 아닙니다. 베어본 프레임워크에 관심이 있다면 이 문서를 참조하십시오.
Pygame에서 rect.collidepoint()
를 사용하여 충돌 감지
rect
클래스의 collidepoint()
메서드를 사용하여 주어진 점이 rect
내부에 있는지 테스트할 수 있습니다. 이는 여러 경우에 유용합니다. 예를 들어 일부 UI 요소를 마우스로 가리키면 모양이 변경되도록 하려는 경우입니다.
이 기사에서 우리는 기능에 대해 논의하고 그것으로 버튼을 만들었습니다. 함수에 x
및 y
좌표를 별도로 제공하거나 튜플 또는 목록과 같은 반복 가능 항목에 제공할 수 있습니다.
통사론:
rect.collidepoint(x, y)
rect.collidepoint((x, y))
Pygame에서 rect.colliderect()
를 사용하여 충돌 감지
rect
클래스의 이 기능을 사용하여 다른 rect
의 일부가 해당 범위 내에 있는지 여부를 테스트할 수 있습니다. 따라서 이 함수에 다른 rect
를 제공해야 합니다.
통사론:
rect.colliderect(rect)
Pygame에서 rect.collidelist()
또는 rect.collidelistall()
을 사용하여 충돌 감지
또한 rect.collidelist()
메서드를 사용할 수 있습니다. 이 메서드는 rects
목록을 수신하고 기본 rect
와 교차하는지 테스트합니다. 이 함수는 rect
와 충돌하는 첫 번째 rect
인덱스를 반환합니다.
rect.collidelistall()
메서드는 유사하며 한 가지 주요 차이점만 있습니다. 메인 rect
와 충돌하는 rects
의 모든 인덱스가 포함된 배열을 반환합니다.
통사론:
rect.collidelist([rect1, rect2, ...])
rect.collidelistall([rect1, rect2, ...])
Pygame에서 rect.collidedict()
또는 rect.collidedictall()
을 사용하여 충돌 감지
이러한 메서드는 위의 메서드와 거의 동일하지만 기본 rect
와 충돌하는 rects
의 키와 값 쌍을 반환합니다.
통사론:
rect.collidedict({
'rect1': rect1,
'rect2': rect2,
...
})
rect.collidedictall({
'rect1': rect1,
'rect2': rect2,
...
})
Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.
GitHub