前提・実現したいこと
pythonで、取り込んだ画像を動かし、画面端に到達したらちょうどもう一方の端に来るようにしようと思っています。パックマンのような動きです。
発生している問題・エラーメッセージ
下記のソースコードの12行目、if InvaderA_pos[y] > (win_height - IA_size[y]): で以下のようなエラーが発生します。IA_sizeとは取り込んだ画像の大きさです。
'int' object is not subscriptable
該当のソースコード
python
1InvaderA_pos = [50, 50] 2InvaderA = pygame.image.load("../img/Invader_A.png") 3IA_size = InvaderA.get_rect().size 4 def InvaderA_display(a, b): 5 global InvaderA_pos 6 InvaderA_pos[x] -= 50-a 7 InvaderA_pos[y] -= 50-b 8 Invader_vel = [0.3, 0.3] 9 global InvaderA_exists 10 if InvaderA_pos[x] > (win_width - IA_size[x]): 11 InvaderA_pos = 0 12 if InvaderA_pos[y] > (win_height - IA_size[y]): 13 InvaderA_pos[y] = 0 14 15 if InvaderA_pos[x] < 0: 16 InvaderA_pos[x] = win_width 17 if InvaderA_pos[y] < 0: 18 InvaderA_pos[y] = win_height
試したこと
IA_sizeを30に変えても同じエラーが発生しました。
この形になる前、if InvaderA_pos[y] > (win_height - IA_size[y]) orInvaderA_pos[x] < 0: という形の文を使用していましたが、その時にはこのようなエラーは発生しませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/30 09:33
2020/01/30 09:53 編集
2020/01/31 17:11
2020/02/01 00:53