Unity Spain
Post Antiguos => General (Antiguo) => Mensaje iniciado por: Srare en Noviembre 23, 2017, 05:40:30 PM
Gente, buenos dias. Escribo para consultarles como podría yo deformar un objeto (Por ejemplo, su escala X) a cierto punto en un determinado período de tiempo? Muchas gracias de antemano! :D
Yo, para esas cosas que van "por tiempo", tiro mucho de iTween, que lo puedes bajar de la Asset Store.
También te lo puedes hacer tu con un script que use una courutina, por ejemplo.
O simplemente usar alguna de las opciones de Vector3: Lerp, MoveToward, etc. (Si no me equivoco...)
Si le dedicas un rato lo puedes sacar tu mismo.
puede
//puedes usar un float para medir el tiempo
private float tiempoTranscurrido = 0;
//otro float para el tiempo deseado en el que se deforma
private float tiempoLimite = 10.0f; //porejemplo 10 segundos
//y un "bool" para ver si ha cambiado o no
private bool cambiado = false;
void Update() {
if (!cambiado) {//si NO ha cambiado...
tiempoTranscurrido += Time.deltaTime; //ir sumando tiempo
if (tiempoTranscurrido > tiempoLimite) {
//si el transcurrido es mayor que el limite...
transform.localScale = new Vector3(escala x, escala y, escala z);
//cambiar escala
cambiado = true;//poner que si ha cambiado
//para que no vuelva a comprobarlo o a cambialo...
}
}
}
nose.... algo asi.... depende de para que sea... y como quieres que sea el cambio.... este seria instantaneo... pero igual quieres que valla cambiando poco a poco...
Muchas gracias gente! Esta solucionado! Un saludon compañeros... he utilizadco un codigo muy similar al siguiente :D
Cita de: Igor date=1511533504
//puedes usar un float para medir el tiempo
private float tiempoTranscurrido = 0;
//otro float para el tiempo deseado en el que se deforma
private float tiempoLimite = 10.0f; //porejemplo 10 segundos
//y un "bool" para ver si ha cambiado o no
private bool cambiado = false;
void Update() {
if (!cambiado) {//si NO ha cambiado...
tiempoTranscurrido += Time.deltaTime; //ir sumando tiempo
if (tiempoTranscurrido > tiempoLimite) {
//si el transcurrido es mayor que el limite...
transform.localScale = new Vector3(escala x, escala y, escala z);
//cambiar escala
cambiado = true;//poner que si ha cambiado
//para que no vuelva a comprobarlo o a cambialo...
}
}
}