ふりかえり
前回はステージに応じて背景が切り替わるようにしました。
ゲームにより没入感が生まれました!
前回の投稿はこちら↓
スキルやUIのSEを追加!
ボタンやスキルを使ったときに音が鳴ると、ゲームの手応えが一気に増します。
今回は、以下の場面でSEを鳴らすようにしました:
- 強撃・全力攻撃・ヒーリングスキル
- 強化ボタン(攻撃力やHPなど)
- UIタブ開閉
スクリプトの変更
AudioManager.cs
各SEを再生する関数を追加します。
// 強撃SEを再生 public void PlayStrongAttackSE() { if (strongAttackSE != null && skillAudioSource != null) { skillAudioSource.clip = strongAttackSE; skillAudioSource.Play(); Debug.Log("強撃SEを再生しました"); } } // 全力攻撃SEを再生 public void PlayPowerAttackSE() { if (powerAttackSE != null && skillAudioSource != null) { skillAudioSource.clip = powerAttackSE; skillAudioSource.Play(); Debug.Log("全力攻撃SEを再生しました"); } } // ヒーリングSEを再生 public void PlayHealingSE() { if (healingSE != null && skillAudioSource != null) { skillAudioSource.clip = healingSE; skillAudioSource.Play(); Debug.Log("ヒーリングSEを再生しました"); } } // タブ開閉SEを再生 public void PlayTabOpenSE() { if (tabOpenSE != null && uiAudioSource != null) { uiAudioSource.clip = tabOpenSE; uiAudioSource.Play(); Debug.Log("タブ開閉SEを再生しました"); } } // 強化SEを再生 public void PlayPowerUpSE() { if (powerUpSE != null && uiAudioSource != null) { uiAudioSource.clip = powerUpSE; uiAudioSource.Play(); Debug.Log("強化SEを再生しました"); } }
BattleManager.cs
スキル使用時にSEを再生:
// スキル発動 if (skillData.skillType == SkillType.Attack) { // 攻撃スキル int skillDamage = skillManager.CalculateSkillDamage(skillIndex, playerManager.player.attack); enemyManager.TakeDamage(skillDamage); // スキルSEを再生 if (audioManager != null) { if (skillIndex == 0) // 強撃 { audioManager.PlayStrongAttackSE(); } else if (skillIndex == 1) // 全力攻撃 { audioManager.PlayPowerAttackSE(); } } if (battleLogManager != null) { battleLogManager.AddLog($"{playerManager.player.name}の{skillData.skillName}!{enemyManager.enemy.name}に{skillDamage}ダメージ!", Color.yellow); } } else if (skillData.skillType == SkillType.Healing) { // ヒーリングスキル int healAmount = skillManager.GetHealAmount(skillIndex, playerManager.player.maxHP); int oldHP = playerManager.player.currentHP; playerManager.player.currentHP = Mathf.Min(playerManager.player.currentHP + healAmount, playerManager.player.maxHP); int actualHeal = playerManager.player.currentHP - oldHP; // ヒーリングSEを再生 if (audioManager != null) { audioManager.PlayHealingSE(); } if (battleLogManager != null) { battleLogManager.AddLog($"{playerManager.player.name}の{skillData.skillName}!HPを{actualHeal}回復!", Color.green); } }
PowerUpManager.cs
ステータスを強化したときにSEを再生:
下は攻撃力を強化した時の例
public void PowerUpAttack() { if (playerManager.player.gold >= attackUpCost) { playerManager.player.gold -= attackUpCost; playerManager.player.attack += attackUpValue; // 強化SEを再生 if (audioManager != null) { audioManager.PlayPowerUpSE(); } ShowMessage($"攻撃力が{attackUpValue}増加しました!"); } else { ShowMessage("ゴールドが足りません。"); } playerManager.playerUIManager.UpdateUI(); UpdateUI(); }
Unityでの設定

- Skill Audio Source と UI Audio Source に AudioSource をアタッチ
- 各 AudioClip にSEファイルを登録(例:強撃SE、ヒーリングSEなど)
動作確認
スキルやボタンを押すたびに、しっかりSEが再生されました!
※音付き動画を載せられなくてすみません…今後対応できるようにします!
まとめ
今回はスキルやボタン操作時にSEを追加し、
「何が起きたのか」を音で分かるようにしました!
これでゲームにより一体感が出てきました!
次回予告
会心の一撃を実装します!
お楽しみに!