制御系の解説サンプルプログラムに戻ります。ここからがゲームのメインループです。 メインループは、ゲームを終了しない限り、無限に繰り返される処理です。
前半は、pygameの関数を使ってキーボードの上下左右を検出し、それに対応する処理を行っています。 pressed_key = pygame.key.get_pressed(); でキーボードの状態を検出。 次の if pressed_key[K_LEFT]: x -= 8; SE_Play(1); は、K_LEFT、つまり左キーが押されたかどうかを判定し、押されていたら、xを-8と、効果音の1番を再生しています。 以降も同じく、K_RIGHTで右キー、K_UPで上キー、K_DOWNで下キーを検出し、x,yの座標を 8 ずつ動かしています。 その後、自キャラが画面の外へ行き過ぎないよう、座標を調整しています。
但し、座標x,yはキャラ絵の左上になるので(絵の中心ではありません)、ちゃんと画面内に自キャラを入れておくには、 値を調整する必要があります。 どう調整すればいいか、試しにサンプルを書き換えてみてください。 ここまでが、メインループ内の制御系(キー操作や数値操作)です。 次回は、メインループ内の描画系を解説します。 |