だから私は基本的なゲームプログラミングを学んでいて、もちろんゲーム内の弾丸のクラスであるこのBulletクラスを持っています。
bulletGroup = [i for i in bulletGroup if i.buly < screen.get_height()]
for shot in bulletGroup:
shot.buly -=3
これは私が行ったことなので、すでに画面を通過した箇条書きを削除できました frpm abpve/ ただし、コードの最初の行が機能しない可能性があるため、リストの長さを短縮していないようです。では、オブジェクトのリストをチェックしてから、破棄したいものをすべて削除するにはどうすればよいでしょうか。
編集:はい、オブジェクトを印刷してリストに表示されているかどうかを確認しましたが、それらは間違いなく画面の高さよりも低かったです。それでも、彼らはまだリストの一部ですか?これはすべてゲームループにあります。したがって、すべてのティックには、暴走した弾丸に対して更新される bulletGroup が必要です。