初心者です。
よろしくお願いいたします。
数個の画像を読み込み、アイコンのようにマウスでクリックし
どの画像範囲が選ばれたかを番号付けをしたいです。
画像が2個の場合は画像部分をクリックで番号付けが出来ますが。
3個以上になるとエラーが出てしまいうまくいきません。
エラーメッセージは
IndexError: 477, 213 is out of bounds
が出ます。
インデックスのエラーとのことですが良くわかりません。
現在上手くいかない回路を記述致します。
import pygame
def main():
pygame.init()
screen = pygame.display.set_mode((800, 800))
button1 = pygame.image.load('A.png').convert_alpha()
button1_pos = (30, 100)
button2 = pygame.image.load('B.png').convert_alpha()
button2_pos = (30, 300)
button3 = pygame.image.load('C.png').convert_alpha()
button3_pos = (30, 500)
mask1 = pygame.mask.from_surface(button1)
mask2 = pygame.mask.from_surface(button2)
mask3 = pygame.mask.from_surface(button3)
while True: for e in pygame.event.get(): if e.type == pygame.QUIT: return if e.type == pygame.MOUSEBUTTONDOWN: try: if mask1.get_at((e.pos[0]-button1_pos[0],e.pos[1]-button1_pos[1])): print(1) except IndexError: pass if mask2.get_at((e.pos[0]-button2_pos[0],e.pos[1]-button2_pos[1])): print(2) except IndexError: pass if mask3.get_at((e.pos[1]-button3_pos[1],e.pos[1]-button3_pos[1])): print(3) except IndexError: pass screen.fill((80,80,80)) screen.blit(button1, button1_pos) screen.blit(button2, button2_pos) screen.blit(button3, button3_pos) pygame.display.flip()
main()
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/01 02:33