2014-04-17 2 views
0

회전 문제가 있습니다. (이전의 질문을보십시오) 문제를 해결하기 위해 게임의 컨텍스트에서 문제를 해결하고 혼란없이 회전 할 수 있는지 확인하십시오. 내가하려고했던 모든 것. 내가 지금 가지고있는 문제는 이미지가 회전하는 것이지만 동시에 화면에서 빠져 나오는 것입니다. 나는 어떤 이동 명령도 가지고 있지 않다. 그것은 단지 제자리에서 회전해야한다. 왜 이런 일이 발생합니까?파이 게임 이미지가 회전과 함께 움직입니다.

여기 내 코드입니다 :

import pygame 
import sys 

pygame.init() 

size = width , height = 400 , 400 

screen = pygame.display.set_mode(size) 

car = pygame.image.load("Car3.png").convert() 
carRect = car.get_rect() 
carRect = carRect.move(200 , 200) 

running = True 

while running: 

    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      running = False 

    car = pygame.transform.rotozoom(car ,30 , 1) 

    screen.blit(car , carRect) 
    pygame.display.flip() 

pygame.quit() 
sys.exit() 

참고 : 내가 rotozoom을 사용하고 이유는 내가이 회전 할 때 문제가 자동으로 크기 조정 이미지에서 발생할 수 있음을 읽을 수 있다는 것입니다.

+0

개인적으로'Pygame.transform.rotozoom'에 대한 개인적인 경험은 없지만, 표면의 기점이 아닌 주위에서 회전하고 있다고 생각됩니다. 이 경우 표면은 "세계"에서 점 (0,0)이있는 곳을 중심으로 회전합니다. 표면 개체를 일시적으로 세계 원점으로 이동하고 Rotozoom 작업을 수행 한 다음 다시 이동하십시오. – Haz

답변

0

여기서 두 줄을 사용하여 달성하려는 계획은 무엇입니까?

carRect = car.get_rect() 
carRect = carRect.move(200 , 200) 

왜 여기에 Rect.move 함수를 호출합니까?

아마도 블릿이 왼쪽 상단 모서리와 함께 이루어질 수 있습니다. 나는 당신의 이미지에 대한 측정을 모르지만, 회전 과정에서 좌상단이 바뀌기 때문에 그것이 "회전"하고있을 수 있습니까?

여기 조금 늦었습니다. 그렇지 않으면 직접 문서를 찾아보고 좀 더 정교한 답을 줄 것입니다. 그러나 그때까지 : 이미지를 회전시킬 때, 이미지의 가운데를 기준으로 이동합니다. 왼쪽 상단이 아니라 이미지를 배치합니다. 어느 쪽이든 할 수있는, 나는 센터를 사용하여 쉽게 찾을 수 있습니다.

+0

감사합니다. – user3532835