Exemplo n.º 1
0
    public void OnCollisionEnter(Collision other)
    {
        //撞击音量
        AudioCaseMgr acm = other.gameObject.GetComponent <AudioCaseMgr>();

        if (acm == null)
        {
            return;
        }
        if (levelManager.BallCrashAudio.isPlaying)
        {
            return;
        }
        //设置音量
        //Rigidbody tOtherRigid = other.gameObject.GetComponent<Rigidbody>();
        float tempM = other.impulse.magnitude;//(theRigidBody.velocity - (tOtherRigid == null ? Vector3.zero : tOtherRigid.velocity)).magnitude;

        tempM = tempM > MaxVolumeSpeed ? 1 : tempM / MaxVolumeSpeed;
        //levelManager.BallCrashAudio.volume = tempM;
        if (acm.BallCrash_Floor)
        {
            levelManager.BallCrashAudio_Floor.PlayOneShot(BallCrashAudioClip_Floor, tempM);
        }
        else if (acm.BallCrash_Rail)
        {
            levelManager.BallCrashAudio_Rail.PlayOneShot(BallCrashAudioClip_Rail, tempM);
        }
        else if (acm.BallCrash_Wood)
        {
            levelManager.BallCrashAudio_Wood.PlayOneShot(BallCrashAudioClip_Wood, tempM);
        }
    }
Exemplo n.º 2
0
    public void OnCollisionStay(Collision collision)
    {
        AudioCaseMgr acm = collision.gameObject.GetComponent <AudioCaseMgr>();

        if (acm == null)
        {
            return;
        }
        //计算音量
        Rigidbody tOtherRigid = collision.gameObject.GetComponent <Rigidbody>();
        float     tempM       = (theRigidBody.velocity - (tOtherRigid == null ? Vector3.zero : tOtherRigid.velocity)).magnitude;

        tempM = tempM > MaxVolumeSpeed ? 1 : tempM / MaxVolumeSpeed;
        if (acm.BallScroll_Floor)
        {
            levelManager.BallScrollAudio_Floor.volume = tempM;
        }
        if (acm.BallScroll_Wood)
        {
            levelManager.BallScrollAudio_Wood.volume = tempM;
        }
        if (acm.BallScroll_Rail)
        {
            levelManager.BallScrollAudio_Rail.volume = tempM;
        }
    }
Exemplo n.º 3
0
    public void OnCollisionExit(Collision collision)
    {
        AudioCaseMgr acm = collision.gameObject.GetComponent <AudioCaseMgr>();

        if (acm == null)
        {
            return;
        }
        if (acm.BallScroll_Floor)
        {
            levelManager.BallScrollAudio_Floor.volume = 0;
        }
        if (acm.BallScroll_Wood)
        {
            levelManager.BallScrollAudio_Wood.volume = 0;
        }
        if (acm.BallScroll_Rail)
        {
            levelManager.BallScrollAudio_Rail.volume = 0;
        }
    }