私は小さなゲームを作ろうとしています。私はここでは帰郷時に問題があります。本当に、私がする必要があるのは、このリストをイメージにblitすることだけです。PygameはForループ内のリスト内の個々のアイテムをブレットできません||| Err(Blitの無効な宛先)
はmyListは(brick.get_rectで構成されている)
# myList = myCollider(myList, ballRect)
for i in range(len(myList)):
if(ballRect.colliderect(myList[i])):
print("ok")
del myList[i]
#for i in range(0, len(myList)):
# screen.blit(brick, myList[i])
for i in range(len(myList)):
screen.blit(brick, myList[i])
screen.blit(platform, platformRectangle)
screen.blit(ball, ballRect)
また、すべてのコードは、私がこの
del myList[i]
を追加するまでのコードは、私はそれを削除した場合に動作し、衝突時にアクティブに動作します私が望むように、しかし何らかの理由でこれはうまくいかないようです。
なぜ私のリストをblitしませんか?
さらに、ゲームは定義された衝突が発生し、del myList [i]がアクティブになるまで動作します。
全エラー:
Traceback (most recent call last):
File "C:\Users\Jackson\source\repos\C200-Breakout-Team26\JackCrap\EXT.py", line 152, in <module>
Play(400, 400, black, 1)
File "C:\Users\Jackson\source\repos\C200-Breakout-Team26\JackCrap\EXT.py", line 129, in Play
if(ballRect.colliderect(myList[i])):
IndexError: list index out of range
常に置く完全なエラー・メッセージ(トレースバック)を持つクラスでなければならない – furas
[my] [i] 'が空のリストの場合に行うべきですか? – Matthias
なぜ 'myList [i] = []'を追加しますか? 'get_rect()'は、描画に使用される 'Rect()'クラスのインスタンスを返します。今度は 'screen.blit(brick、[])'を描画しようとしています – furas