2015年11月11日

Cocos2d-JS > ADD AUDIO EFFECT INTO PARKOUR GAME

原文はこちらです。

イントロダクション

このチュートリアルでは、私はオーディオサポートを我々のパルクールゲームに追加する方法を紹介したいと思います。

アクションにおける時間

HTML5 によってサポートされるオーディオフォーマット

まず最初に、どのフォーマットが HTML5 によってサポートされるのか見てみましょう:

ここで我々は ogg フォーマットを使います。なぜならそれは Android 及び Chrome によってサポートされているためです。

オーディオサポートを我々のゲームに追加

オーディオリソースのコピー

まず最初に、必要とされるオーディオファイルを我々の res ディレクトリにコピーしましょう。オーディオファイルは、要約セクションからダウンロードされ得るプロジェクトと同じプロジェクトの中に見い出せます。

我々は background.ogg を BGM のために、jump.ogg 及び pickup_coin.ogg をジャンプとコインとの衝突のために使います。

2番目に、幾つかのグローバル変数を resource.js ファイルに定義しましょう:

var res = {
    // リストへの追記
    background_mp3 : "res/background.mp3",
    jump_mp3 : "res/jump.mp3",
    pickup_coin_mp3 : "res/pickup_coin.mp3"
};

var g_resources = [
    // リストへの追記
    res.background_mp3,
    res.jump_mp3,
    res.pickup_coin_mp3
];

注記:全てのブラウザに渡るコンパチビリティを確実にするためには同時に "mp3" 及び "ogg" フォーマットの両方に同じオーディオファイルを持たせることが推奨されます。そしてあなたは resource.js に両方をリストする必要はないので、あなたがあなたのゲームをデバイス上で走らせるとき、 iOS 及び Mac のより良いコンパチビリティを有する "mp3" フォーマットをリストして下さい。

オーディオハンドリングコードをゲームに追加

まず最初に、PlayScene に入ったら BGM を追加して下さい:

注記:以下のコードを PlayScene.js 内の onEnter 関数の最後に追加して下さい。

//BGM を追加
cc.audioEngine.playMusic(res.background_mp3, true);

this.scheduleUpdate();

それから、ゲームが終了したら、我々は BGM を止めるべきです。そのため、以下のコード片を collosionRockBegin メソッド内に追加して下さい:

 //BGM を停止
cc.audioEngine.stopMusic();

最後に、ジャンピングのオーディオエフェクトとコインに衝突するオーディオエフェクトを追加しましょう。

//ジャンピングオーディオエフェクトを AnimationLayer の ★jump★ メソッドに追加
//ジャンプミュージック
cc.audioEngine.playEffect(res.jump_mp3);
//コインに衝突するオーディオエフェクトを PlayScene の ★collisionCoinBegin★ メソッドに追加
cc.audioEngine.playEffect(res.pickup_coin_mp3);

全ての変更を保存し、ゲームを実行します。これであなたのゲームはオーディオに満ち溢れた世界を奏でます。

要約

チュートリアルでは、我々は既存のゲームにオーディオサポートを追加することがいかに容易かを見てきました。あなたはここからプロジェクト全体をダウンロードできます。

ここから進むのは?

これでパルクールゲームの旅はマイルストーンに辿り着きました。以下のチュートリアルでは、我々はクロスプラットフォームサポートを追加し、我々の js ファイルの暗号化を幾つか行います。

このまま進みましょう!

posted by cbbandtqb at 00:41| Comment(0) | TrackBack(0) | 備忘録 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。