- Home /
Question by
Critcher · Nov 04, 2012 at 04:12 PM ·
gameobjectcollideraudio
Having trouble playing sound on another gameobject
I am having a heck of a time trying to figure out how to play an audio file that is attached to a monster(with an audio source attached)in my game. I am able to send the damage at him but I can't seem to be able to find the right command to send audio. Attached is the script I am working with.
Thanks very much!
var hit : RaycastHit;
var ammoCount : int = 9;
var bloodPrefab : GameObject;
var muzzlePoint : Transform;
var Damage = 2;
function Start()
{
}
function Update () {
if(Input.GetButtonDown("Fire1")){
ammoCount -=1;
// Not done here yet but shouldn't matter at all
audio.Play();
StartCoroutine("Shoot");}
}
function Shoot() {
var fwd = muzzlePoint.TransformDirection (Vector3.forward);
if (Physics.Raycast (muzzlePoint.position, fwd, hit, 1000)){
if(hit.collider.gameObject.tag == "Monster")
{Instantiate(bloodPrefab, hit.point, hit.transform.rotation);
hit.collider.gameObject.SendMessage("applyDamage", Damage);
//All of this stuff works...
//This is the line I'm trying to figure, just need the right syntax.
//hit.collider.gameObject.SendMessage(audio.Play());
//hit.collider.gameObject.audio.Play();
//something.something.something.argh!
}
}
}
function OnGUI (){
GUI.Label (Rect (50, 10, 100, 20),"bullets left: " + ammoCount);
}
Comment
Best Answer
Answer by Griffo · Nov 04, 2012 at 04:22 PM
Try
hit.collider.gameObject.SendMessage("playSound");
Then on the monster put
var soundSample : AudioClip;
function playSound(){
audio.volume = 0.1;
if (!audio.isPlaying){
audio.clip = soundSample;
audio.Play();
}
}
Your answer
Follow this Question
Related Questions
one shot Sound on collision. Unity 4.0 problem. 2 Answers
How to make audio play when passes a collider 1 Answer
Audio not playing after OnTriggerStay is applied to the scripts (Driving Simulator Project) 0 Answers
Can I play multiple AudioSources from one gameobject? 8 Answers
Locate a game object using rays 1 Answer