pythonのpygameでクリックして指定した画像をカーソルで動かす、ドラッグをできるようにしたいです。そのコードを書いてみました。しかし、エラーなどはなく、背景画像と動かしたい画像も問題なく出てくるのですが、クリックしてもカーソルを動かしても画像は動きません。どのように修正すれば良いでしょうか。
python
12import pygame 3from pygame.locals import *4import sys 5 6def main():7 pygame.init() 8 (w, h) = (1000, 750)9 (x1, y1) = (500, 375)10 pygame.display.set_mode((w, h), 0, 32)11 screen = pygame.display.get_surface()12 13 pygame.display.set_caption("Wolf Analizer")14 bg = pygame.image.load("background.png").convert_alpha()15 bg = pygame.transform.scale(bg, (1123, 752))16 rect_bg = bg.get_rect()17 player1 = pygame.image.load("player.png").convert_alpha()18 player1 = pygame.transform.scale(player1, (50,50))19 20 player1Rect = pygame.Rect((x1, y1), player1.get_rect().size)21 pygame.display.flip()22 23 rect_player1 = player1.get_rect()24 rect_player1.center = (x1,y1)25 26 while (1):27 screen.fill((0, 0, 0, 0))28 screen.blit(bg, rect_bg)29 screen.blit(player1, (x1, y1))30 screen.blit(player1, player1Rect)31 pygame.display.update()32 pygame.time.wait(30)33 34 for event in pygame.event.get():35 if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:36 if player1Rect.collidepoint(event.pos):37 if event.type == pygame.MOUSEMOTION:38 x1, y1 = event.pos 39 x1 -= int(player1.get_width() / 2)40 y1 -= int(player1.get_height() / 2)41 42 43 if event.type == QUIT:44 pygame.quit()45 sys.exit()46 if event.type == KEYDOWN:47 if event.key == K_ESCAPE:48 pygame.quit()49 sys.exit()50 51if __name__ == "__main__":52 main()
0 コメント