Algún manual que explique bien eso del getcomponent.
Que no puedo ni poner un triste sonido de disparo cuando dispara con el Unity 5, porque todo está obsoleto y me da error.
Ni siquiera en la ayuda de Unity. Está la ayuda también obsoleta. Y además me dice 'cannont convert Unityengine.audiosource'
No puede ser tan difícil poner un audio.
Venga muchas gracias.
Es difícil. Su funcionamiento es tan básico que poco hay que explicar.
http://docs.unity3d.com/ScriptReference/GameObject.GetComponent.html
Esos DOCS de Unity CREO que estan obsoletos en cierta manera , en Unity 5 debes usar GetComponent asi:
GameObject.GetComponent<Rigidbody/Lo que sea>();
en lugar de
GameObject.GetComponent(RectTransform); //Unity 4
tal vez sea ese tu problema,
Un saludo.
Gracias amigos. ! ! ! !
var fire : AudioClip;
.
.
.
.
.
function Fire(){
animationGO.GetComponent.<Animation>().CrossFadeQueued(fireLeftAnim, 0.08, QueueMode.PlayNow);
//desde aqui lo de disparar balas
var balaInstanciada : Rigidbody = Instantiate(bala, lanzador.position, transform.rotation );
balaInstanciada.velocity = transform.TransformDirection( Vector3( 0, 0, velocidad ) );
Physics.IgnoreCollision( balaInstanciada.GetComponent.<Collider>(), transform.root.GetComponent.<Collider>());
GetComponent.<AudioSource>().PlayOneshot(fire);
}
Y por qué no suena el disparo?? Que hago mal??
Le agregué el componente Audiosource, y como audioclip "fire"
Gracias amigos.! ! !! !!
PlayOneShot no es un componente es un funcion del componente AudioSource(si no me equivoco)
Debe de ser tan fácil como.
Getcomponent <audiosource>().play();
Así sin más. Luego pruebo.
El compañero tiene razon,
PlayOneShoot,Play,PlayClipAtPoint son funciones de componentes por lo tanto deberia de ser asi:
GAMEOBJECT.Getcomponent<AudioSource>().Play(AUDIOCLIP);
Tu problema(Creo) esque estas haciendo un GetComponent a la NADA, me explico
estas haciendo esto:
GetComponent.<AudioSource>().PlayOneshot(fire);
cuando debes hacer:
GAMEOBJECT_QUE_TIENE_AUDIOSOURCE.GetComponent.<AudioSource>().PlayOneshot(fire);
Si miras los DOCS veras que hay otra Static Function que puedes usar "PlayClipAtPoint" la cual deberias de poder llamar sin hacer GetComponent lo que quiere decir que puedes probar esto:
AudioSource.PlayClipAtPoint(CLIP,POSICION(VECTOR3));
Ten cuidado pues lo que esta entre "<" y ">" estoy casi seguro que es CASE SENSITIVE lo que quiere decir que IMPORTAN mayusculas y minusculas.
Un saludo.
Gracias compañero.
Lo dejé solucionado con el anterior post mío. Pero tu explicación me sirve de mucho. Y lo voy a probar
El problema es que de javascript no dominó. Venga de la vieja escuela del COBOL, Pascal... Y necesitó saber la gramática del javascript que no se. Me refiero a saber en que orden se pone las cosas, instrucciones, funciones, donde poner punto, coma, paréntesis.......
Estoy muy empezando.
Gracias!!!