ゲームアプリ (Catch the Ball)

【Android Studio】 ゲームアプリ開発入門 第11回 「効果音の再生」

ここまでの記事はこちら
 

今回はゲームには欠かせない効果音の再生を実装します。

効果音は

  • オレンジ・ピンクボールに当たった時のヒット音
  • 黒いトゲトゲに当たった時のゲームオーバー音

の2種類です。
 
 

使用する音声ファイルはこちらからダウンロードしてください。

簡単に作ったものなので音質は良くないですが、ご自由にお使いください????
 

それでは始めていきましょう!

 


 

動画

【Android Studio】ゲームアプリ開発入門 #11 効果音を再生する

 
 

rawフォルダの用意

効果音などの音声ファイルは raw フォルダに置きます。

raw フォルダはプロジェクト作成時には無いので、フォルダを作ってから音声ファイルを置きます。

Step 1

res フォルダを選択した状態にします。

 

Step 2

res フォルダの上で右クリック → New → Directory をクリックします。

 

Step3

raw と入力して「OK」を押します。

 

Step 4

raw フォルダの上で右クリック → Reveal in Finder(Windows の場合は Show in Explorer)をクリックします。

 

Step 5

raw フォルダに先ほどダウンロードした音声ファイルを置きます。

 
これで音声ファイルを使う準備は完了です!

 
 

SoundPlayerクラスの作成

音声を管理するために SoundPlayer クラスを作成します。

Step 1

パッケージ名の上で右クリック → New → Java Class をクリックします。

 

Step 2

Name に SoundPlayer と入力し「OK」を押します。

 
 

音声ファイル再生の準備

音声ファイルを読み込み、再生するための用意をしていきます。

SoundPlayer.java に以下のコードを書いてください。

 

18行目 : SoundPool

ゲームの効果音など短い音を再生する時は SoundPool クラスを使います。

soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);

2はSOUND_POOL_MAX(最大同時再生数)です。

STREAM_MUSICは音声ファイルの種類です。他にも STREAM_ALARM, STREAM_RING などがあります。

0は再生品質です。ここはデフォルトの0にしておきます。

 

20・21行目 : load

load で音声ファイルを読み込みます。

soundPool.load(context, R.raw.hit, 1);

R.raw.correctは音声ファイルの ID です。

1は再生品質です。ここもデフォルト値にしておきます。

 

24~26行目

soundPool.play(hitSound, 1.0f, 1.0f, 1, 0, 1.0f);

正解音を再生するためのメソッドです。

play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate)
soundIDサウンドID
leftVolume(左の音量)0.0 ~ 1.0
rightVolume(右の音量)0.0 ~ 1.0
priority(優先度)0が最小値
loop(ループ・繰り返し)0: ループなし -1: ループする
rate(再生速度)0.5(遅) ~ 2.0(速)

 
 

SoundPoolの非推奨について

SoundPool クラスは API 21(Lollipop)から非推奨になっています。
このアプリは低い API にも対応させていること、非推奨でもプログラムに影響がないことから、そのままにしています。
もし非推奨を解決したい場合は以下のように書き直してください。

 
 

効果音を再生する

まずは MainActivity.java に SoundPlayer クラスを用意します。

MainActivity.java を開いて、5・12行目を追加します。

 

次に、各ボールの衝突判定をしている箇所で効果音を再生します。

10・20・29行目を追加します。

 
 

アプリを実行する

アプリを実行して効果音が再生されるか確認してください。

テスト動画(音が出ます)

 
 

次に行うこと

次回はこのゲームアプリの総仕上げです。
画面の大きさが変わってもゲームを楽しめるように速度を調整していきます。

第12回 「複数の画面サイズに最適化」に進む

 
 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA