tmlib.jsでBGMやSEを鳴らす #tmlib

Unsplash / Pixabay

公式で準備されたチュートリアルが以下ので動かなかったので、試行錯誤してみた。

tmlib.js で今流行のフラットデザインを使ったタッチゲームを作ろう – Step05 BGM, SE を鳴らそう – jsdo.it

tmlib.js:14719 'webkitAudioContext' is deprecated. Please use 'AudioContext' instead.
tmlib.js:14770 Uncaught TypeError: this.source.noteOn is not a function

他人が書いたライブラリ内部のエラーだったので、必要そうな部分だけ以下のように流用したら、一応BGM、SE共に鳴るようになった。

var ASSETS = {
    "BGM": "http://jsrun.it/static/assets/sound/01/sound.mp3",
    "SE": "http://jsrun.it/assets/7/2/S/s/72Ss5.mp3"
:
    // ローディングシーン
    var loading = tm.app.LoadingScene({
    :
        assets: ASSETS
    :
    });
    app.replaceScene(loading);
    app.run();
:
tm.asset.AssetManager.get('BGM").clone().play();

ちなみに、BGMの再生はできるのだが、BGMの停止がうまくできない…。