Unity中的AudioClip问题

问题描述 投票:0回答:1

我编写了当玩家摧毁立方体时播放声音的脚本。

{

public GameObject blastEffect;
public float offSet;
public int amountOfDestroyed = 0;

private AudioSource source;
public AudioClip clip;

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


private void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.tag == "Bullet")
    {
        source.PlayOneShot(clip);
        GameManager.instance.score += 1;
        Vector3 spawnPosition = new Vector3(transform.position.x, offSet, transform.position.z);
        Instantiate(blastEffect, transform.position, blastEffect.transform.rotation);        
        Destroy(gameObject); 
    }
}
}

即使立方体被摧毁,声音也不会开始

我也尝试过这个方法

{
public GameObject blastEffect;
public float offSet;
public int amountOfDestroyed = 0;

public AudioSource blastSound;


private void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.tag == "Bullet")
    {
        blastSound.Play();
        GameManager.instance.score += 1;
        Vector3 spawnPosition = new Vector3(transform.position.x, offSet, transform.position.z);
        Instantiate(blastEffect, transform.position, blastEffect.transform.rotation);        
        Destroy(gameObject); 
    }
}
}

但是当我想将这个声音添加到该脚本所在的预制件中时,我得到了信息“TypMissMatch”,而且立方体也没有消失,不知道为什么。 (立方体在回合开始时生成。)

c# unity-game-engine audio virtual-reality
1个回答
0
投票

所以我像这样更改了脚本的第一个版本:

{
public GameObject blastEffect;
public float offSet;
public int amountOfDestroyed = 0;


public AudioClip clip;

private void Start()
{
    GameManager.instance.source = GetComponent<AudioSource>();
}
private void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.tag == "Bullet")
    {
        GameManager.instance.source.PlayOneShot(clip);
        GameManager.instance.score += 1;
        Vector3 spawnPosition = new Vector3(transform.position.x, offSet, transform.position.z);
        Instantiate(blastEffect, transform.position, blastEffect.transform.rotation);        
        Destroy(gameObject); 
    }
}

}

并将这节经文添加到我的单例游戏管理器中

public AudioSource source;

我这样做是因为现在即使在立方体被破坏后也可以听到该音频。

© www.soinside.com 2019 - 2024. All rights reserved.