【 PCゲーム制作入門 No.07 】

空の配列(領域)を学ぼう

サンプルプログラムに戻ります。

続きはここから↓
# SE用の領域
se_list = [0]*16;  # 空の領域を作成

# SEをロード
#IN : ファイル名, SE番号
def SE_Load(fname,no):
    se_list[no] = pygame.mixer.Sound(fname);

# SEを再生
def SE_Play(no):
    se_list[no].play();  # サウンドを再生

効果音(SE)を読み込む関数と、それを再生する関数ですね。
曲と違い、効果音は複数のファイルが「同時に必要」です。
なので効果音を管理する、「空の配列」を作り、その配列の番号で効果音を制御することにしました。

Pythonでは独特な指定方法で「空の配列」を作ります。

上のサンプルだと、se_list = [0]*16; の行で指定しています。
これで、16個分のデータを入れられる、se_list という配列ができました。

ぱっと見、理解し辛いですが、「こういう決まり」なので、そのまま覚えてください。

以降は、普通の配列と同じように、
se_list[0] = 10; としたり、se_list[15] = se_list[0]; みたいな感じで使えます。

注意が必要なのは、se_list[16] はエラーになります。
16個のデータを作ったということは、0〜15までなので、16番目は不可です。

この効果音の関数を作ることで、
SE_Load(ファイル名, 効果音番号); でファイルを指定番号へ読み込み、
SE_Play(効果音番号); で、指定番号の効果音を再生できるようになりました。
お手軽ですね。

この「空の配列」の使い方も、色々試して自分のものにしてください。


その後、画像の読み込み&表示する関数を作っています↓
# 画像用の領域
grp = [0]*32;  # 空の領域を作成

# 画像をロード
def GRP_Load(fname,no):
    grp[no] = pygame.image.load(fname).convert_alpha();

# 画像を描画
#IN : 座標, 画像番号
def GRP_Draw(x,y,no):
    screen.blit(grp[no], (x,y));  # 絵を描画

効果音の関数とほぼ同じですね。
画像用の「空の配列」を32個作り、それを使って画像を管理しています。

因みに、GRP_Draw に入れる x,y は、その画像を表示する座標です。
画面座標は、左上が 0,0 で、右下が、最初に指定した GMX,GMY を -1 した値です。
画面座標から外れた場所の指定も可能で、例えば、
GRP_Draw( -100,-150, 0); や、 GRP_Draw( 500,550, 0); という値を指定しても大丈夫です。


尚、pygame.image.loadやblit等、pygame(ライブラリ)の細かい命令を覚える必要はありません。
pygameの関数は、なるべくラッピングし、使い易い形にしておきましょう。


次のページへ



[ StudioGIW TOPページ ]