ふりかえり
前回はステージに応じて背景が切り替わるようにしました。
ゲームにより没入感が生まれました!
前回の投稿はこちら↓
スキルや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を追加し、
「何が起きたのか」を音で分かるようにしました!
これでゲームにより一体感が出てきました!
次回予告
会心の一撃を実装します!
お楽しみに!



