pygame가 키보드 이벤트를 포획하는 두 가지 방식을 상세히 설명합니다.
예:
for event in pygame.event.get(): #
if event.type == pygame.QUIT: #
print(" ")
방식2:pygame에서pygame을 사용할 수 있습니다.key.get_pressed () 는 모든 키 모듈을 되돌려줍니다. 키보드의 상량을 판단하면 모듈에서 그 키가 눌렸음을 판단할 수 있습니다. 눌리면 모듈에 이 키 정보가 존재합니다.이런 방식을 통해 키보드의 이벤트도 포착할 수 있고 눌렀다가 튕기는 조작이 필요 없으며 눌렀을 때 응답이 있어 유연성이 높다.예제 코드:
mykeyslist = pygame.key.get_pressed() #
if mykeyslist[pygame.K_RIGHT]: # , 1
print(" ")
요약:두 가지 방식의 비교: 방식 1의 유연성은 방식 2의 좋은 것이 없다. 만약에 유연성에 대한 요구가 높은 게임이라면 일반적으로 사용 방식 2를 권장한다.
pygame 버튼 계속 누르기 응답
pygame의 작은 비행기 대전 프로그램을 쓰고 있지만 작은 문제에 부딪혔습니다.
키보드 이벤트를 통해 비행기의 좌우 이동을 조작합니다.
elif event.type == KEYDOWN:
# a left
if event.key == K_a or event.key == K_LEFT:
plane_temp.move_left()
움직일 수 있지만 매번 움직일 때마다 버튼을 눌러야 해서 괴로워요.계속 누르고 그에 상응하는 효과를 실현하고 싶다
자료를 찾아 발견하다
pygame.key.set_repeat() control how held keys are repeated
set_repeat() -> None set_repeat(delay, interval) -> None When the
keyboard repeat is enabled, keys that are held down will generate
multiple pygame.KEYDOWN events. The delay is the number of
milliseconds before the first repeated pygame.KEYDOWN will be sent.
After that another pygame.KEYDOWN will be sent every interval
milliseconds. If no arguments are passed the key repeat is disabled.
When pygame is initialized the key repeat is disabled.
버튼은 기본적으로 한 번만 눌릴 수 있기 때문에 공교롭게도 어떤 버튼이 눌렸는지 확인한 후 순환을 통해 대응하는 동작을 실현한다
key_pressed = pygame.key.get_pressed()
if key_pressed[pygame.K_a] or key_pressed[pygame.K_LEFT]
plane_temp.move_left()
pygame에 대한 도움말 문서:https://www.pygame.org/docs/ref/key.html#comment_pygame_key_set_repeat
pygame 포획 키보드 이벤트에 대한 두 가지 방식에 대한 상세한 설명을 드리겠습니다. 더 많은 pygame 포획 키보드 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보시기 바랍니다. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
완전히 처음부터 시작하는 보드 게임의 프로그래밍과 기계 학습 [4 일째]평소 Python의 기본적인 사용법을 배웠으므로, 드디어 Pygame을 사용하여 게임 제작의 입구로 발길을 가고 싶습니다. Pygame은 Simple DirectMedia Layer (SDL)라고 불리는 다른 게임 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.