0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

enchant.jsとtmlib.jsを使ったゲーム作成フレームワーク「enforce」チュートリアル(16)効果音を再生する

Last updated at Posted at 2015-02-01

ここでは、「game01」というディレクトリ内で作業しているという前提で説明しています。

※標準で入っているメディアファイルと、「playSound()」の仕様を変更しました。2015年2月1日以前にenforceをクローンしている方は、

$ git pull https://github.com/digitarhythm/enforce.git

を行ってください。

効果音を再生する

environ.coffee」でプリロード指定した音声ファイルを再生してみます。

まず、「src/environ.coffee」を開いてください。
次に、

    control: 'media/picture/controlplane.png'

の下に、

    gamestart: 'media/sound/gamestart.mp3'

と記述してください。

environ.coffee」の修正が終わりましたら、「src/gameControl.coffee」を開いてください。
開きましたら、「when 0」を下記のように修正してください。

            when 0
                button = PADBUTTONS[0]
                if (button[0])
                    # 修正箇所
                    playSound("gamestart", 0.5, false)

                    @title.visible = false
                    @nextjob()

playSound()」が追加されています。
この関数は、

environ.coffee」で「gamestart」という名前でプリロード指定した音声ファイルを、オリジナルの半分の音量で再生し、ループはしない」

ということになります。
音量と、ループフラグは省略可能です。
省略した場合は、「音量=1.0、ループ=false」、になります。
ここまでの修正が終わりましたら、コンパイルしWebブラウザをリロードしてください。
「z」キーを押すと音が鳴ると思います。
「音量」パラメーターは、「0.0〜1.0」を指定します。
enchant.jsでは1.0を越えても音量に変化はありませんが、tmlib.jsでは1.0を越えると増幅されます(大きくしすぎると音が割れます)。

ゲームにアクセスした場合にエラーが出てゲームが立ち上がらない場合は、フレームワークに標準で入っている「gamestart.mp3」が古い可能性があります。
gitリポジトリからpullしてください。

注)iOS端末のブラウザでは、タップアクションを受け取った処理内でサウンド再生を行った後でないと、正しくサウンド再生が行われないという仕様があります。ゲームを作成する場合はタイトル画面に「GAMESTART」ボタンを用意し、これがタップされた時にサウンドを再生するようにすることで、ゲーム中に普通にサウンドを再生することが出来ます。

チュートリアル(15) <--- ⬛︎ --->チュートリアル(17)


enforceチュートリアル一覧

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?