前提
pygameのスプライトを任意の位置に表示したいのですが左上に表示されてしまいます。
どのように記述すれば良いのか教えてください。
プログラムは6Hzで点滅するチェッカーボードがマウスに追従するというものです。
実現したいこと
マウスにスプライトを追従させる。
該当のソースコード
python
1import pygame 2import pyautogui 3 4size = pyautogui.size() 5pos = pyautogui.position() 6black = (0,0,0) 7FPS = 60 8 9class checker(pygame.sprite.Sprite): 10 def __init__(self, position): 11 super(checker, self).__init__() 12 13 self.images = list() 14 for i in range(5): 15 self.images.append(pygame.image.load('check-pattern1.png')) 16 for i in range(5): 17 self.images.append(pygame.image.load('check-pattern2.png')) 18 19 self.index = 0 20 self.image = self.images[self.index] 21 self.rect = self.image.get_rect() 22 self.image_center_position = position 23 24 def update(self): 25 if self.index >= len(self.images): 26 self.index = 0 27 28 self.image = self.images[self.index] 29 self.index += 1 30 31def main(): 32 pygame.init() 33 screen = pygame.display.set_mode(size) 34 35 check = checker(pos) 36 group = pygame.sprite.Group(check) 37 38 screen.fill(black) 39 clock = pygame.time.Clock() 40 41 while True: 42 for event in pygame.event.get(): 43 if(event.type == pygame.KEYDOWN) and (event.key == pygame.K_ESCAPE): 44 pygame.quit() 45 quit() 46 screen.fill(black) 47 group.update() 48 group.draw(screen) 49 50 pygame.display.update() 51 clock.tick(FPS) 52 53if __name__ == '__main__': 54 main()
試したこと
このページを参考にして作成しました。
https://rikoubou.hatenablog.com/entry/2020/07/10/165030
補足情報(FW/ツールのバージョンなど)
spider5.3.3, python3.9
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。