添加音效 v0.1版
This commit is contained in:
@@ -39,6 +39,10 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
if (isPlayer && onPlayerDamaged != null)
|
||||
onPlayerDamaged.Invoke();
|
||||
|
||||
// 播放受伤音效
|
||||
if (isPlayer && AudioManager.Instance != null)
|
||||
AudioManager.Instance.PlaySFXFromResources("SFX/Hurt", 0.7f);
|
||||
|
||||
// If dead
|
||||
if (health <= 0)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using GameFramework;
|
||||
|
||||
namespace IndianOceanAssets.Engine2_5D
|
||||
{
|
||||
@@ -89,6 +90,10 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
isRolling = true;
|
||||
lastRollTime = Time.time;
|
||||
|
||||
// 播放冲刺音效
|
||||
if (AudioManager.Instance != null)
|
||||
AudioManager.Instance.PlaySFXFromResources("SFX/Dash", 0.8f);
|
||||
|
||||
float timer = 0.2f;
|
||||
Vector3 rollDir = new Vector3(inputDirection.x, 0f, inputDirection.y).normalized;
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ Material:
|
||||
- _EchoIntensity: 0
|
||||
- _EchoRadius: 39.41617
|
||||
- _EchoWidth: 2.5
|
||||
- _LightSoftness: 1
|
||||
- _LightSoftness: 0.5
|
||||
- _MinBrightness: 0
|
||||
m_Colors:
|
||||
- _DarknessColor: {r: 0.01, g: 0.01, b: 0.02, a: 1}
|
||||
|
||||
@@ -2017,6 +2017,7 @@ GameObject:
|
||||
- component: {fileID: 160213093}
|
||||
- component: {fileID: 160213092}
|
||||
- component: {fileID: 160213091}
|
||||
- component: {fileID: 160213096}
|
||||
m_Layer: 0
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: HUD_Canvas
|
||||
@@ -2138,6 +2139,22 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &160213096
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 160213090}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!4 &166849993 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 435539791518907074, guid: 559314d2eb0483149908bafda142bcd7, type: 3}
|
||||
@@ -8835,6 +8852,7 @@ GameObject:
|
||||
- component: {fileID: 607799032}
|
||||
- component: {fileID: 607799034}
|
||||
- component: {fileID: 607799033}
|
||||
- component: {fileID: 607799035}
|
||||
m_Layer: 5
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: PauseMenuCanvas
|
||||
@@ -8926,6 +8944,22 @@ MonoBehaviour:
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
--- !u!114 &607799035
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 607799030}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!1 &609157175
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -30447,7 +30481,7 @@ MonoBehaviour:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1966623129}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
|
||||
@@ -1341,6 +1341,7 @@ GameObject:
|
||||
- component: {fileID: 897692929}
|
||||
- component: {fileID: 897692928}
|
||||
- component: {fileID: 897692927}
|
||||
- component: {fileID: 897692930}
|
||||
m_Layer: 0
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: Canvas
|
||||
@@ -1433,6 +1434,22 @@ Canvas:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 1000
|
||||
m_TargetDisplay: 0
|
||||
--- !u!114 &897692930
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 897692925}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!1 &951237302
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1882,6 +1899,7 @@ GameObject:
|
||||
- component: {fileID: 1036666437}
|
||||
- component: {fileID: 1036666436}
|
||||
- component: {fileID: 1036666435}
|
||||
- component: {fileID: 1036666440}
|
||||
m_Layer: 0
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: MainMenu_Canvas
|
||||
@@ -1997,6 +2015,22 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &1036666440
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1036666434}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!1 &1036827524
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2208,6 +2242,7 @@ GameObject:
|
||||
- component: {fileID: 1065091764}
|
||||
- component: {fileID: 1065091763}
|
||||
- component: {fileID: 1065091767}
|
||||
- component: {fileID: 1065091768}
|
||||
m_Layer: 5
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: UI
|
||||
@@ -2321,6 +2356,22 @@ MonoBehaviour:
|
||||
settingsBackButton: {fileID: 774721830}
|
||||
creditsPanel: {fileID: 0}
|
||||
creditsCloseButton: {fileID: 0}
|
||||
--- !u!114 &1065091768
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1065091762}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!1 &1106266784
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3722,6 +3773,7 @@ GameObject:
|
||||
- component: {fileID: 1852443090}
|
||||
- component: {fileID: 1852443089}
|
||||
- component: {fileID: 1852443088}
|
||||
- component: {fileID: 1852443093}
|
||||
m_Layer: 0
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: HUD_Canvas
|
||||
@@ -3836,6 +3888,22 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &1852443093
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1852443087}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!1 &1867658318
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -164,7 +164,7 @@ MonoBehaviour:
|
||||
minBrightness: 0
|
||||
darknessColor: {r: 0.01, g: 0.01, b: 0.02, a: 1}
|
||||
lightSoftness: 0.5
|
||||
followCamera: 1
|
||||
followTarget: {fileID: 0}
|
||||
maskPlane: {fileID: 338266643}
|
||||
maskOffset: {x: 0, y: 0, z: 0}
|
||||
planeSize: 300
|
||||
@@ -1730,6 +1730,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
target: {fileID: 441783843}
|
||||
offset: {x: 0, y: 6.25, z: -7.5}
|
||||
followSmoothness: 20
|
||||
--- !u!4 &331731258 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3758831290525234046, guid: c8ebec87794f9e541b3416e11049afa7, type: 3}
|
||||
@@ -2322,6 +2323,7 @@ GameObject:
|
||||
- component: {fileID: 413844532}
|
||||
- component: {fileID: 413844531}
|
||||
- component: {fileID: 413844535}
|
||||
- component: {fileID: 413844536}
|
||||
m_Layer: 5
|
||||
m_HasEditorInfo: 1
|
||||
m_Name: Canvas
|
||||
@@ -2428,6 +2430,22 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
healthFill: {fileID: 255691866}
|
||||
--- !u!114 &413844536
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 413844530}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4acb13cd074243844ae5d9645289796d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
selectSFXPath: SFX/UI_Click
|
||||
clickSFXPath: SFX/UI_Click
|
||||
selectVolume: 0.5
|
||||
clickVolume: 0.6
|
||||
--- !u!1001 &416141938
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -5494,6 +5512,7 @@ MonoBehaviour:
|
||||
radius: 2
|
||||
intensity: 1
|
||||
registerOnStart: 1
|
||||
offset: {x: 0, y: 0, z: 0}
|
||||
followTarget: {fileID: 0}
|
||||
enableFlicker: 0
|
||||
flickerSpeed: 5
|
||||
@@ -7775,6 +7794,7 @@ MonoBehaviour:
|
||||
radius: 1
|
||||
intensity: 1
|
||||
registerOnStart: 1
|
||||
offset: {x: 0, y: 0, z: 0}
|
||||
followTarget: {fileID: 0}
|
||||
enableFlicker: 1
|
||||
flickerSpeed: 5
|
||||
|
||||
@@ -113,6 +113,30 @@ namespace GameFramework
|
||||
PlaySFX(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 直接通过 AudioClip 播放音效。
|
||||
/// </summary>
|
||||
public void PlaySFX(AudioClip clip, float volume = 1f)
|
||||
{
|
||||
if (clip == null) return;
|
||||
sfxPlayer.PlayOneShot(clip, volume);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通过 Resources 路径加载并播放音效。
|
||||
/// 路径相对于 Assets/audios/Resources/,例如 "SFX/Bell"
|
||||
/// </summary>
|
||||
public void PlaySFXFromResources(string resourcePath, float volume = 1f)
|
||||
{
|
||||
var clip = Resources.Load<AudioClip>(resourcePath);
|
||||
if (clip == null)
|
||||
{
|
||||
Debug.LogWarning($"[AudioManager] SFX not found: {resourcePath}");
|
||||
return;
|
||||
}
|
||||
PlaySFX(clip, volume);
|
||||
}
|
||||
|
||||
public void SetSFXVolume(float volume)
|
||||
{
|
||||
sfxVolume = Mathf.Clamp01(volume);
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
namespace GameFramework
|
||||
{
|
||||
/// <summary>
|
||||
/// 全局 UI 按钮音效处理器。
|
||||
/// 挂到 Canvas 上,自动监听所有按钮的点击/悬停事件并播放音效。
|
||||
/// 无需在每个按钮上单独添加组件。
|
||||
/// </summary>
|
||||
public class UIClickSoundHandler : MonoBehaviour, IPointerEnterHandler, IPointerDownHandler
|
||||
{
|
||||
[Header("音效资源路径(相对于 Resources 文件夹)")]
|
||||
[SerializeField] private string selectSFXPath = "SFX/UI_Click";
|
||||
[SerializeField] private string clickSFXPath = "SFX/UI_Click";
|
||||
|
||||
[Header("音量")]
|
||||
[SerializeField] private float selectVolume = 0.5f;
|
||||
[SerializeField] private float clickVolume = 0.6f;
|
||||
|
||||
private void PlaySFX(string path, float volume)
|
||||
{
|
||||
if (AudioManager.Instance != null)
|
||||
AudioManager.Instance.PlaySFXFromResources(path, volume);
|
||||
}
|
||||
|
||||
public void OnPointerEnter(PointerEventData eventData)
|
||||
{
|
||||
// 只对按钮播放悬停音效
|
||||
if (eventData.pointerEnter != null && eventData.pointerEnter.GetComponent<Button>() != null)
|
||||
{
|
||||
PlaySFX(selectSFXPath, selectVolume);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPointerDown(PointerEventData eventData)
|
||||
{
|
||||
// 只对按钮播放点击音效
|
||||
if (eventData.pointerPress != null && eventData.pointerPress.GetComponent<Button>() != null)
|
||||
{
|
||||
PlaySFX(clickSFXPath, clickVolume);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: CytM5yuuAC+4h5kKmSUxrxML3yei5rN0+BflxvkJIAYWLnhdd2gv6Zw=
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: WnkcvX+vBX1grLqf2w5+8B0Tb/tjUt5zEzSY6+hOxk3dnAMJaAOhNtM=
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: Cnse4C/8VS2FRx6YypypE+UQUDhCG57fOPgT4jI5zzyWeQ7CscWY0O0=
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: Ci5Ns3iuAn3749M3vTMFYqH9eCmiarZssFwoacecgEEKqjvczbRNpRQ=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: XXoc5CP4AS1KyaAWelwxpsjZHN/VfEzFGnzfSiFK08G5CyqkhYZQqBQ=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: Xi9K5nmlAXl8b2OJYLNNDNs1LBYLWsUvU34kI6LF3MEL+lwkUMRE1q4=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: CntLtiz/USl488aq8E1N5fT0pIBFNP9Cs2b93EGRGbPgJjHgxNRFR2g=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: XS4f43n+VSogZuScQ9FGRS77LjL0WjgKOJSuS2aBvlxNYFkAF2s16xM=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: Wn5K536tByrNnYAXMO3AUxsEVGWFMmlChgWYYBjJVVVzoSvUlM5BP60=
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: BnsZ4SOkVHxK1acq6mElPwHWV7wuuxexO1WngVaCAHWaiTE4HWahoAQ=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: DShOt3j/UH/m/aVULruT+xtEv/xOYfflxDUCmVHUc7V+Nf8eQZNj0Rw=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: BnsX4ymkWy2cXI4sdDBcBRw/9iO2NSa9+BXbwXnTVusb7sZnnelBaTg=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: WXIctCqpWn4T60mrEWk90qO3iCMrQqrQWMT7k4q2ORunY84HFugcq/E=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: WnIfsXuqBnICCkWitQEfbwNmKVUAE/xHqatQYv3rx2Xs5mQaHS8dt2w=
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 7
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using GameFramework;
|
||||
|
||||
namespace IndianOceanAssets.Engine2_5D
|
||||
{
|
||||
@@ -109,6 +110,10 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
_stateTimer = 0f;
|
||||
_lastEchoTime = Time.time;
|
||||
|
||||
// 播放摇铃音效
|
||||
if (AudioManager.Instance != null)
|
||||
AudioManager.Instance.PlaySFXFromResources("SFX/Bell", 0.9f);
|
||||
|
||||
// 记录释放时刻的玩家位置(回声中心固定,不跟随移动)
|
||||
Vector3 p = transform.position;
|
||||
_center = new Vector2(p.x, p.z);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using GameFramework;
|
||||
|
||||
namespace IndianOceanAssets.Engine2_5D
|
||||
{
|
||||
@@ -66,6 +67,10 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
_remainingLanterns--;
|
||||
_lastPlaceTime = Time.time;
|
||||
|
||||
// 播放灵灯放置音效
|
||||
if (AudioManager.Instance != null)
|
||||
AudioManager.Instance.PlaySFXFromResources("SFX/Lantern", 0.8f);
|
||||
|
||||
// 在玩家位置实例化灵灯
|
||||
GameObject lanternObj = Instantiate(lanternPrefab, transform.position, Quaternion.identity);
|
||||
SpiritLantern lantern = lanternObj.GetComponent<SpiritLantern>();
|
||||
|
||||
Reference in New Issue
Block a user