- Home /
 
               Question by 
               Trollvahkiin · Sep 15, 2013 at 08:30 PM · 
                audiodistanceunits  
              
 
              How can I play different audio depending on the distance?
Hey,
I put together a script where the enemy teleports around until he gets close enough (the number can be set in the inspector) When he gets close enough he stops teleporting around and plays a sound. Then when you get even closer to him he plays another sound. The problem I have is that I can't get the audios to play.
 var player : Transform; // the Object the player is controlling
 var spawnOrgin : Vector3; // this will be the bottom right corner of a square we will use as the spawn area
 var maximum : Vector3; // max distance in the x, y, and z direction the enemy can spawn
 var spawnRate : float; // how often the enemy will respawn
 var distanceToPlayer : float; // how close the enemy has to be to the player to play music
 var nearPlayer : boolean = false; // use this to stop the teleporting if near the player
 var audioPlayed : boolean = false;
 var distanceToChase : int;
 var chasing : boolean = false;
 var audio01 : AudioClip;
 var audio02 : AudioClip;
     
 private var nextTeleport : float = 0.0f; // will keep track of when we to teleport next
      
 function Start ()
     {
         nextTeleport = spawnRate;
     }
      
 function Update ()
 {
     if (!nearPlayer) // only teleport if we are not close to the player
     {
         if (Time.time > nextTeleport) // only teleport if enough time has passed
         {
             transform.position = Vector3( Random.Range(spawnOrgin.x, maximum.x), Random.Range(spawnOrgin.y, maximum.y), Random.Range(spawnOrgin.z, maximum.z) ); // teleport
             nextTeleport += spawnRate; // update the next time to teleport
         }
     }
     if (Vector3.Distance(transform.position, player.position) <= distanceToPlayer)
     {
         if (audio && audio.clip && !audio.isPlaying && renderer.isVisible && !audioPlayed) // play the audio if it isn't playing
         audio.PlayOneShot(audio01);
         nearPlayer = true;
         audioPlayed = true;
     }
     else
     {
         if (audio01)
         {
         audio02.Stop();
         nearPlayer = false;
         audioPlayed = false;
         }
     }
     if (Vector3.Distance(transform.position, player.position) <= distanceToChase)
     {
         if (audio && audio.clip && !audio.isPlaying) // play the audio if it isn't playing
         audio.PlayOneShot(audio02);
         chasing = true;
         chaseIsOn();
     }
     else
     {
         if (audio02)
         {
         audio02.Stop();
         chasing = false;
         }
     }
 }
 
 function chaseIsOn()
 {
     Debug.Log("THE CHASE IS ON");
 }
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                