Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

Script unattached to Object will not compile

$
0
0
I feel like I've hit a catch twenty two: I am creating a sound script that will instance a whirring noise only when a turret is moving to line up with it's target. I have two scripts that accomplish this. The idea revolves around a Vector3.Angle() function that determines the difference between where the turret is pointed and where it thinks it needs to go. If that value has a nonzero value than it is assumed the turret is in movement. This value is assigned to a var called float_angle. Soundcounter is a modulus 10 integer that is constantly moving. On the value of soundcounter == 9 the float_angle function updates. On soundcounter == 10 the following script is set to function: function soundtrigger () { if(soundcounter == 10 && float_angle == 0)targetObject.SendMessage(stop); else(soundcounter == 10 && float_angle > 0)targetObject.SendMessage(movement); } This informs the following function: SentrySoundManager.js var start_rotate : AudioClip; var end_rotate : AudioClip; private var looping : boolean = false; function loopState(looping: boolean){ audio.loop = looping; } function movement(){ if (!AudioSource.isPlaying){ looping = true; audio.PlayOneShot(start_rotate); } AudioSource.loop = looping; yield WaitForSeconds(start_rotate.length); audio.Play(); } function stop(){ if (AudioSource.isPlaying){ looping = false; audio.PlayOneShot(end_rotate); } } My issue is that the SentrySoundManager.js will not compile, and further complicates the unity scene by making the rest of the scripts unavailable until the compilation error is resolved. I get the following message in the Console of Unity: - "Assets/WeaponScripts/SentrySoundManager.js(9,26): BCE0020: An instance of type 'UnityEngine.AudioSource' is required to access non static member 'isPlaying'. - Assets/WeaponScripts/SentrySoundManager.js(13,21): BCE0020: An instance of type 'UnityEngine.AudioSource' is required to access non static member 'loop'. - Assets/WeaponScripts/SentrySoundManager.js(19,25): BCE0020: An instance of type 'UnityEngine.AudioSource' is required to access non static member 'isPlaying'." I don't understand how to instance an AudioSource for a script that is not attached to an Object in the scene. Am I interpreting this incorrectly? Thanks, and if I can clarify anything lemme know.

Viewing all articles
Browse latest Browse all 171066

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>