- Home /
trigger audio and text from array
Hello!
Here is the setting: I have a number of wooden frames in different spots of the room. In front of each frame i have placed an invisible trigger box.
What i am trying to do is: When the player enters one of the trigger box, a song and a text field appears.
This is my approach so far. I have created a game object called mediaManager that takes care of playing the appropriate song and displaying the appropriate text for each different wooden frame. This is the script attached to the mediaManager
var showgui = false; var mySonglist : AudioClip[]; //array for the songs var stringToDisplay : Array; //array for text var nextSong : int = 0;
function React () { Need an if statement here that checks from which triggerbox it receives a message showgui = true; audio.clip = mySonglist[1]; print(stringToDisplay[1]); audio.Play(); }
function OnGUI () { if (showgui) { stringToDisplay[0] = new Array(GUI.TextArea (Rect (10, 10, 300, 100), "Text1", 200)); stringToDisplay[1] = new Array(GUI.TextArea (Rect (10, 10, 300, 100), "Text2", 200));
} }
And this is the script attached to the trigger boxes:
function OnTriggerEnter(col : Collider)
{
if(col.gameObject.name == "Player")
{
gameObject.Find("mediaManager").SendMessage("React");
}
}
Here are my problems: I need an if statement in the mediaManager script that will check which of the trigger boxes sent a message so that it will play the corresponding song. Another problem i get is a null reference exception on that same script.
NullReferenceException: Object reference not set to an instance of an object MusicManager.React () (at Assets/MyScripts/Framepictures/MusicManager.js:12) UnityEngine.GameObject:SendMessage(String) FrameTrigger:OnTriggerEnter(Collider) (at Assets/MyScripts/Framepictures/FrameTrigger.js:5)
Help please! i am stuck. Thank you so much!