2012-03-21 7 views
2

클릭했을 때 마우스가 움직이는 것과 반대 방향으로 배경 이미지를 이동하려고합니다. 따라서 많은 모바일 앱에서 볼 수있는 것처럼 화면을 왼쪽이나 오른쪽으로 드래그하는 것처럼 보입니다. 누구든지이 일을하는 간단한 방법이 있습니까?파이 게임 드래그 배경 이미지

답변

3

MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION과 같은 이벤트 유형을 검색하면됩니다.
마우스 동작을 감지하면 event.buttons 속성을 사용하여 클릭했는지 확인하십시오. 여기 내 구현 :

import pygame 
from pygame.locals import * 

pygame.display.init() 
screen = pygame.display.set_mode((800, 600)) 
img = pygame.image.load('sky.png') 

imgPos = pygame.Rect((0, 0), (0, 0)) 

LeftButton = 0 
while 1: 
    for e in pygame.event.get(): 
     if e.type == QUIT: exit(0) 
     if e.type == MOUSEMOTION: 
      if e.buttons[LeftButton]: 
       # clicked and moving 
       rel = e.rel 
       imgPos.x += rel[0] 
       imgPos.y += rel[1] 
    screen.fill(0) 
    screen.blit(img, imgPos) 
    pygame.display.flip() 
    pygame.time.delay(30) 

당신은 읽을 필요가 있습니다 Pygame event document

1

원시 SDL 래퍼가 될 것으로 추측하고 있습니다. 직접 코딩해야합니다. 마우스가 다운되면 확인하고, 만약 그렇다면, 같은 것을 사용하여 추적 : 다음 배경 이미지의 위치에 'AmountMoved'추가

AmountMoved = ThisFrameMousePosition - LastFrameMousePosition; 

. 그것이 잘못된 방향으로 가고 있다면 AmountMoved를 빼십시오.