2017-03-04 12 views
0

Meine WAV-Audiodatei wird nicht wiedergegeben, wenn sie aufgerufen wird. Die Sound-Datei funktioniert, weil wenn ich "Play On Awake" in der Audio Source-Komponente wähle, wird die Sound-Datei abgespielt. Es wird auch gespielt, wenn ich hit.Play() aufrufen; in den Start-und Update-Methoden. Es wird jedoch nicht in den OnMouseOver- oder OnMouseDown-Methoden wiedergegeben. obwohl sie ansonsten in einwandfreiem Zustand sind.Audio wird nicht wiedergegeben, wenn Objekte geklickt haben C# Unity

Ich habe reichlich Forschung betrieben, nur um in veralteten Code oder Lösungen zu laufen, die mein Problem einfach nicht lösen; Wenn also irgendjemand einen Einblick in mein Thema hat, würde einige Hilfe sehr geschätzt werden!

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class clickDissapear : MonoBehaviour { 

public AudioSource hit; 

private void OnMouseDown() 
{ 
    hit.Play(); 
    Destroy(this.gameObject); 
} 

private void OnMouseOver() 
{ 
    if (Input.GetKeyDown(KeyCode.Z)) 
    { 
     hit.Play(); 
     Destroy(this.gameObject); 
    } 

    if (Input.GetKeyDown(KeyCode.X)) 
    { 
     hit.Play(); 
     Destroy(this.gameObject); 
    } 
} 

private void OnBecameInvisible() 
{ 
    Destroy(gameObject); 
    //Play Miss 
} 

void Start() { 
    hit = GetComponent<AudioSource>(); 
} 

void Update() { 

    } 
} 

Here is a screenshot of my setup in Unity.

Antwort

0

Das Problem ist der Ton und das Objekt mit der Audioquelle destoryed wird gespielt wird. Deshalb hörst du keinen Ton. Die audioSource ist zerstört und Sie hören nur die ersten 0,001 Sekunden des Sounds. Ich schlage vor, Sie verwenden Destroy (this.gameobject, hit.audioclip.Lenght); oder eine Coroutine.

+0

Ah ich sehe, das macht Sinn. Ich dachte, wenn das Audio vor der Zerstörung in die Warteschlange gestellt würde, würde es den gesamten Clip abspielen, unabhängig vom Zustand des Objekts. –

+0

Hoffe, eine der 2 Lösungen löst das Problem, wie Sie möchten. Sie können die audioSource auch an ein anderes Objekt anhängen, wenn Sie möchten. Vielleicht ist es Elternteil für leichteres Auffinden – pasotee

Verwandte Themen