2012-10-24 1 views
0

파이 게임에서이 이미지가 화면 주위를 움직입니다. 내가하고 싶은 일은 다른 시간에 번갈아하는 것입니다. 그래서, 나는 image1.png에서 시작하여 페이지를 가로 질러 이동하고 human1.png와 human2.png 사이를 전환하고 image1.png로 마무리하기를 원합니다. 이것이 가능한가?파이 게임에서 움직이는 이미지 바꾸기

내 코드는 다음과 같습니다

if (human1_position.left <= 555): 
    human1_position = human1_position.move(2, 0) # move first human 
    pygame.display.update() 
else: 
    move = STOP 
screen.blit(human1, human1_position) 

감사

다음

답변

1

이 가능한 솔루션입니다 : 나는 업데이트() 호출을 이동

# Before main loop 
human_files = ["human1.png", "human2.png"] 
human_sprites = [pygame.image.load(filename).convert_alpha() for filename in human_files] 
human1_index = 0 

... 

# During main loop 
if (human1_position.left <= 555): 
    human1_position = human1_position.move(2, 0) # move first human 
    human1_index = (human_index + 1) % len(human_sprites) # change sprite 
else: 
    move = STOP 
    human1_index = 0 
human1 = human_sprites[human1_index] 
screen.blit(human1, human1_position) 
pygame.display.update() 

, 그것은 결국 한 번만 프레임 당 발생한다 그려져있다.

+0

업데이트 문제. 당신은 물론 맞습니다. 그러나 파이 게임에서 알맞은 프레임 속도를 얻길 원한다면, 내 경험에 따르면 전체 디스플레이가 아니라 변경 한 직사각형 만 업데이트해야한다는 것을 알 수 있습니다 (원본 문제와 상관 없음). – kratenko

+0

@kratenko 동의합니다. 모든 업데이트 된 사각형을 추적해야한다고 생각하면 프레임 당 update()를 한 번만 호출하십시오. 그러나 이것은 완전히 새로운 문제 (성능 관련)이며 아마 samiles는 이러한 최적화를 필요로하지 않습니다. – pmoleri

관련 문제