Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Ness en Noviembre 10, 2015, 05:05:20 AM

Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Ness en Noviembre 10, 2015, 05:05:20 AM
hola, quisiera saber alguna forma de reiniciar un scritp desde otro, tengo el  problema de  quiero llamar un prefac de un elemento que acabo de eliminar pero ese elemento esta siendo utilizado para otro y quisiera saber como reiniciar el elemento que cuando mi nuevo objeto este es escena este le diga que se inicialize nuevamente. gracias por tu tiempo.
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Oaken3d en Noviembre 10, 2015, 05:24:10 AM
Bueno no entendi muy bien, creo que quieres que otra vez salga un objeto que eliminaste?
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: brok en Noviembre 10, 2015, 12:40:05 PM
¿Pudes mostrar tu script?
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Quel en Noviembre 10, 2015, 02:27:47 PM
¿ Que significa para ti lo de "reiniciar un script" ?
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: jordi_boni en Noviembre 10, 2015, 02:41:21 PM
He leido 3 veces la entrada pero sigo sin entender nada...
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Arthure en Noviembre 10, 2015, 03:22:27 PM
Con el titulo es dificil de entender, pero la explicacion de lo que quiere hacer ya remata xD lo curioso es que contra mas veces lo lees, peor te quedas
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Oaken3d en Noviembre 10, 2015, 06:59:17 PM
jajajajja, pense que era solo yo el de el problema de no entender nada
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: iRobb en Noviembre 10, 2015, 07:11:00 PM
Después de utilizar un programa de la NSA de interpretación por matrices heurísticas de diagnóstico ya tengo la solución.@nestorjaviersolera deberías utilizar el mismo prefab en los dos gameobjects y así no tener que llamarlo desde otro. Los prefabs se pueden reutilizar copiándolos en la jerarquía del editor.
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Ness en Noviembre 10, 2015, 08:32:01 PM
gente me disculpó hay un  objeto esta siendo llamado por otros objeto externos  en el escenario, al yo  borrar del escenario al primer objeto este me tira error porque el primer objeto no esta, luego llamo  otro objeto con el mismo nombre y me tiraba error, porque tengo que reinicializa el el objeto que llama para que detecte las variables de nuevo objeto del escenario, pero ya lo solucione gracias @iRobb.
[quote author=Quel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34389" data-ipsquote-contentcommentid="123278 date=1447162067]¿ Que significa para ti lo de "reiniciar un script" ?[/quote]que todas las variables vuelvan a su estado inicial, y el start() y Awake() vuelvan a activarse nuevamente.
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Final Level en Noviembre 10, 2015, 10:09:28 PM
[quote author=nestorjaviersolera date=1447183921" data-ipsquote="" data-cite="nestorjaviersolera" class="ipsQuote">gente me disculpó hay un  objeto esta siendo llamado por otros objeto externos  en el escenario, al yo  borrar del escenario al primer objeto este me tira error porque el primer objeto no esta, luego llamo  otro objeto con el mismo nombre y me tiraba error, porque tengo que reinicializa el el objeto que llama para que detecte las variables de nuevo objeto del escenario, pero ya lo solucione gracias @iRobb.que todas las variables vuelvan a su estado inicial, y el start() y Awake() vuelvan a activarse nuevamente.[/quote]pues lo destruyes y lo vuelves a intanciar:
				Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Quel en Noviembre 10, 2015, 10:17:38 PM
[quote author=Final Level" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34389" data-ipsquote-contentcommentid="123292">pues lo destruyes y lo vuelves a intanciar:[/quote]

Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Ness en Noviembre 11, 2015, 04:08:46 AM

[quote author=Quel" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34389" data-ipsquote-contentcommentid="123294">1) Pues te haces una función que se llame Inicializar. En ella asignas todas las variables que se tengan que asignar, llamas todas las funciones que se tengan que llamar y realizas todas las tareas que sea necesario llevar a cabo.2) En en Start o en el Awake, ejecutas tu función Inicializar.
3) Cuando vuelvas hacerle un reset a tu script, vuelves a llamar tu función Inicializar.Asi de simple.

Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: iRobb en Noviembre 11, 2015, 07:49:53 AM

Cuántas veces vas a requerir hacerlo? Una vez por segundo o cuando cambies de escena?
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Antonio en Noviembre 11, 2015, 03:24:36 PM
Pero al instanciar un nuevo objeto, automáticamente este ya aparece con sus datos reiniciados, que serían los datos con los que se guardó el objeto del prefab.

Si el problema es que al instanciar uno nuevo, este no sale con los datos que quieres, mira a ver el objeto "de referencia" que hay en el prefab, ¿tiene este los datos adecuados?.

- Si no tiene los datos correctos, pues puedes corregirlos en el objeto del prefab, esos son los datos que se copiarán sobre el objeto instanciado.
- Si los tiene, pero es que cada objeto instanciado requiere de unos datos particulares, pues entonces sí tendrías que hacer una función intermedia como dice Quel. 
- Si tiene los datos correctos, pero a medida que aparecen otros prefabs, van modificando esos datos, entonces me parece  que estás usando variables estáticas para cosas que no deberían. Habría que revisar la lógica del código.
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Ness en Noviembre 11, 2015, 03:39:02 PM
[quote author=iRobb" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34389" data-ipsquote-contentcommentid="123315 date=1447224593]Cuántas veces vas a requerir hacerlo? Una vez por segundo o cuando cambies de escena?[/quote]Cada ves que se pierda la conexión del objeto primario. y intenta que conectar  otro nuevamente.  
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Final Level en Noviembre 15, 2015, 10:13:30 PM
[quote author=Quel date=1447190258" data-ipsquote="" data-cite="Quel" class="ipsQuote">1) Pues te haces una función que se llame Inicializar. En ella asignas todas las variables que se tengan que asignar, llamas todas las funciones que se tengan que llamar y realizas todas las tareas que sea necesario llevar a cabo.2) En en Start o en el Awake, ejecutas tu función Inicializar.
3) Cuando vuelvas hacerle un reset a tu script, vuelves a llamar tu función Inicializar.Asi de simple.

Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Quel en Noviembre 16, 2015, 09:35:48 AM

[quote author=Final Level" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="34389" data-ipsquote-contentcommentid="123552">dsde cuándo reasignar un objeto es matar moscas a cañonazos? jaja[/quote]Desde siempre. Te cuento, porque veo que vas un poco desorientado.Destruir y crear objetos es mas costoso que coger un objeto ya existente en la escena y redefinir sus valores. En realidad, esa es una de las principales razones por las que existen y son tan recomendadas el uso de los Object Pool en todos aquellos objetos que deben de ser destruidos y credos con frecuencia.
Si no sabes que es una Objecto Pool, puedes mirar un hilo que hay en este mismo foro, donde cuenta un poco al respecto ( Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Final Level en Noviembre 16, 2015, 11:10:46 PM
[quote author=Quel date=1447662948" data-ipsquote="" data-cite="Quel" class="ipsQuote">Desde siempre. Te cuento, porque veo que vas un poco desorientado.Destruir y crear objetos es mas costoso que coger un objeto ya existente en la escena y redefinir sus valores. En realidad, esa es una de las principales razones por las que existen y son tan recomendadas el uso de los Object Pool en todos aquellos objetos que deben de ser destruidos y credos con frecuencia.
Si no sabes que es una Objecto Pool, puedes mirar un hilo que hay en este mismo foro, donde cuenta un poco al respecto (
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Arthure en Noviembre 16, 2015, 11:52:38 PM
Cita de: Final Level date=1447711846" data-ipsquote="" data-cite="Final Level" class="ipsQuote¿Hablamos de objetos como GameObjects con componentes incluidos o hablamos de instancias de clases que, por lo general, suelen ser estructuras de datos livianas, dado que suelen ser scripts que controlan una pequeña parte del comportamiento de un GameObject?
Pues si al final los dos teneis razon, solo que estais hablando de cosas diferentes ... aunque habria que hacer dos observaciones:Quel la caga un poco al decir "desde siempre"; segun si se considera que enginees como unity existen desde siempre donde crear objetos (no instancias) tiene un coste elevado si necesitas crearlo muy frecuentemente. Pero programando en nativo, la verdad es que el pool puede ser necesario para una cosa muuuuuy puntual pero es muy raro tener que utilizarlo.Es como decir que, porque en unity tener 150.000 objetos (gameobjects) en pantalla te consumiria mucho ... no puedes tener 250.000 objetos (instancias de clase) y mas si lo necesitas en una aplicacion programada como de toda la vida, es decir en nativo. El "de siempre" no pega mucho en programacion cuando te estas refiriendo a una cuestion de Unity.Por otra parte, Final Level no te pegues esos piques ... la mitad (en realidad muchos mas) del foro, que no es lo mismo que decir todos, solo han programado en Unity y siguiendo videotutoriales por lo que no saben ni lo mas basico de programacion; si te das una vuelta por el foro, encontraras mucha gente que dice directamente no saber que es una clase o un objeto ... lo se, pero se meten a programar un videojuego xDPara leer mucho de lo que se dice en este foro debes cambiar el chip, y pensar que el Unity es la programacion (olvidarte de todo lo anterior), y asi cuando leas cosas como "objeto" no entenderas una instancia de clase (que en programacion es lo que es) si no un GameObject (que es a lo que se refieren aunque no sea un objeto hablando en programacion y encima luego te vayan algunos de listos queriendote enseñar)
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: Final Level en Noviembre 17, 2015, 10:41:29 PM
Cita de: Arthure date=1447714358" data-ipsquote="" data-cite="Arthure" class="ipsQuote Pues si al final los dos teneis razon, solo que estais hablando de cosas diferentes ... aunque habria que hacer dos observaciones:Quel la caga un poco al decir "desde siempre"; segun si se considera que enginees como unity existen desde siempre donde crear objetos (no instancias) tiene un coste elevado si necesitas crearlo muy frecuentemente. Pero programando en nativo, la verdad es que el pool puede ser necesario para una cosa muuuuuy puntual pero es muy raro tener que utilizarlo.Es como decir que, porque en unity tener 150.000 objetos (gameobjects) en pantalla te consumiria mucho ... no puedes tener 250.000 objetos (instancias de clase) y mas si lo necesitas en una aplicacion programada como de toda la vida, es decir en nativo. El "de siempre" no pega mucho en programacion cuando te estas refiriendo a una cuestion de Unity.Por otra parte, Final Level no te pegues esos piques ... la mitad (en realidad muchos mas) del foro, que no es lo mismo que decir todos, solo han programado en Unity y siguiendo videotutoriales por lo que no saben ni lo mas basico de programacion; si te das una vuelta por el foro, encontraras mucha gente que dice directamente no saber que es una clase o un objeto ... lo se, pero se meten a programar un videojuego xDPara leer mucho de lo que se dice en este foro debes cambiar el chip, y pensar que el Unity es la programacion (olvidarte de todo lo anterior), y asi cuando leas cosas como "objeto" no entenderas una instancia de clase (que en programacion es lo que es) si no un GameObject (que es a lo que se refieren aunque no sea un objeto hablando en programacion y encima luego te vayan algunos de listos queriendote enseñar)
No he dicho todos. Sé que aquí hay gente que controla del tema. Aunque había más antes y por algún motivo, ya no veo a algunos.
Título: reiniciar un script desde otro que acabo de instanciar
Publicado por: H@pesend en Noviembre 18, 2015, 06:41:58 PM
Aun t preguntas x k no ves tantos?  Respondiendo a Yokulo ya sabes el x k...
8=========D