PROGRAM PYTHON

Pythonスクリプト【Pygameで障害物を複数置いてボールを反射させよう】

 

 

障害物を複数置いてボールを反射させるプログラムを作ろう

前回はブロックが1つだけでしたが、今回は複数のブロックを置いてボールを反射させるプログラムを作ります。
画面上にスプライトでブロックを3つ作り、同じくスプライトで作ったボールを移動させて、ボールが各ブロックに接触したらボールを反射させます。
ボールとブロックの画像ファイルは、あらかじめPythonスクリプトと同じディレクトリに置いておきます。
Pygameの詳しい使い方は、Pygame公式サイトを参照してください。

 

Pythonスクリプト

今回のスクリプトは、以下のようになります。

 

スクリプト解説

今回は前回のプログラムを改造しているので、前回からの差分のみ解説します。

18行目

ブロックの引数から名前、X座標、Y座標、横サイズ、縦サイズを取得します。

76行目

pygame.sprite.spritecollide()を使って、ボールと接触したブロックのリストを取得します。

79行目

ボールと接触したブロックがあればif文に入ります。

82行目

ボールに接触したブロックを取得します。

140行目

ブロックは複数あるので、グループにして管理します。

143~145行目

配置するブロックの座標とサイズを指定して、ブロック用のグループに追加します。

なお、ブロックを複数使うプログラムは、以下の記事も参考にしてください。

 

-PROGRAM, PYTHON
-