Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: olivers en Julio 12, 2015, 04:24:24 PM

Título: Algun manual de getcomponent
Publicado por: olivers en Julio 12, 2015, 04:24:24 PM
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.
Título: Algun manual de getcomponent
Publicado por: Quel en Julio 12, 2015, 05:38:34 PM
Es difícil. Su funcionamiento es tan básico que poco hay que explicar.http://docs.unity3d.com/ScriptReference/GameObject.GetComponent.html
Título: Algun manual de getcomponent
Publicado por: ProgramacionWH en Julio 13, 2015, 12:39:51 AM
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.
Título: Algun manual de getcomponent
Publicado por: olivers en Julio 13, 2015, 05:49:46 AM
Gracias amigos. ! ! ! !
Título: Algun manual de getcomponent
Publicado por: olivers en Julio 13, 2015, 05:53:59 AM

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);
        }
Título: Algun manual de getcomponent
Publicado por: olivers en Julio 13, 2015, 05:56:54 AM
Y por qué no suena el disparo?? Que hago mal??
 
Le agregué el componente Audiosource, y como audioclip "fire"
 
Gracias amigos.! ! !! !!
Título: Algun manual de getcomponent
Publicado por: GSG3D en Julio 13, 2015, 06:06:02 AM
PlayOneShot no es un componente es un funcion del componente AudioSource(si no me equivoco)
Título: Algun manual de getcomponent
Publicado por: olivers en Julio 13, 2015, 11:49:34 AM
Debe de ser tan fácil como.
Getcomponent <audiosource>().play();
Así sin más. Luego pruebo.
Título: Algun manual de getcomponent
Publicado por: ProgramacionWH en Julio 13, 2015, 11:07:32 PM
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.
Título: Algun manual de getcomponent
Publicado por: olivers en Julio 14, 2015, 09:19:20 AM
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!!!