Open WerderAntoine opened 7 years ago
He conseguido solucionarlo usando:
arrayEsferas [i].GetComponent<Esfera> ().ChangeDirection ();
Pero me gustaría saber la diferencia entre usar uno y otro método.
Respuesta rápida y fácil. El primero no lo hemos visto en clase ;P Te puede parecer una tontería, pero si encontrais algo que no lo hemos visto en clase y yo no os he pedido explícitamente que lo busquéis o investigueis por vuestra cuenta, no lo useis. Sin embargo, GetComponent<>() lo hemos usado ya un montón de veces.
Hay varias razones por las que no os he ensañado a usar el BroadcastMessage, la más importante de ellas es que sólo funciona para llamar a funciones que están en scripts que están como componente en el mismo gameobject. Pero hay muchas otras: No se le pueden pasar parámetros a las funciones, es lento, y no lo usa nadie, entre ellas.
Como pides en el enunciado he creado dos scripts, uno que crea las esferas (scriptA) y otro que le da la dirección(scriptB). Mi problema llega cuando tengo que decir desde el script principal que cambie de dirección cada dos segundos. En el scriptB he creado esta función:
Y para llamarlo desde el scriptA he usado BroadcastMessage asi:
Mi pregunta es si podemos usar BroadcastMessage.