Mormink 3 Report post Posted December 30, 2020 Hola, estoy haciendo una tienda en la cual cuando compro los objetos se me quedan fijos, activados y no consigo desactivarlos osea puedo comprar 3 objetos y se me quedan los 3 fijos y quiero que cuando compres uno se desactive ,otro con lo cual solo quede uno activado. Es con un boton del Canvas que no consigo desactivar los objetos. Share this post Link to post Share on other sites
Fabri15544 5 Report post Posted December 31, 2020 (edited) acá tienes un ejemplo básico del funcionamiento espero te sirva, en el if le agregas lo que quieras que haga si es una tienda lo lógico es que el botón se hunda y reste monedas, este ejemplo lo que hace es desactivar el gameObject pulsando el botón y activar cuando lo pulsas nuevamente. //soy novato pero leyendo un poco el manual que no se porque nadie lee eso mucho texto no xD. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class desactivarButton : MonoBehaviour { public GameObject ObjetoUsar; public bool ButtonOnOff = false; //se inicia en false porque hay una función de activado y desactiva; public void ButtonEnabledDisabled() { if (ButtonOnOff == false) //si ButtonOnOff == false hace.......... { Debug.Log("botonEnFuncionamiento"); ButtonOnOff = true; ObjetoUsar.SetActive(false); } else //de lo contrario hace .......... { ButtonOnOff = false; ObjetoUsar.SetActive(true); } } } Edited December 31, 2020 by francoe1 Usar etiquetas de código. Share this post Link to post Share on other sites
Mormink 3 Report post Posted December 31, 2020 (edited) hola gracias por contestar el problema es que a la hora de hacer objeto.setactive(false), no me desactiva el objeto ese comando no se ejecuta y le he hecho un debug y dentro del if si entra cuando pulso el boton, no se si sera por que el objeto es hijo de otro o algo pero cuando intento usar ese comando no me lo desactiva, ya te digo que el if si lo hace he probado con objeto.activeinhierarchie== true y cuando pulso me entra en ese if pero el setactive(false) no me lo hace, lo de las monedas si me las resta y si compras una vez ya no puedes volver a entrar no se gastan las monedas en el mismo objeto lo tengo puesto asi, para poder comprar objetos diferentes aparte que es sencillo, pero el problema es ese del boton que no me lo desactiva cuando enta en el if. Edited December 31, 2020 by Mormink Share this post Link to post Share on other sites
Fabri15544 5 Report post Posted December 31, 2020 supongo que pusiste el script en el canvas no? sino no va a funcionar, luego creas una condición en el boton arrastras el canvas a la condicion buscas el VOID public void ButtonEnabledDisabled() lo seleccionas y listo. sino entiendes acá te dejo un link de como puedes hacerlo, tomando el ejemplo que te di. "https://www.youtube.com/watch?v=xarTLbxLkG8" Share this post Link to post Share on other sites
Mormink 3 Report post Posted January 3 (edited) Solucionado perdona las molestias, era otro script el que me estaba dando problemas una funcion que siempre tenia como verdadera y acabo de encontrarlo por eso no me funcionaba bien ajajaj, Gracias por toda la ayuda Edited January 3 by Mormink Share this post Link to post Share on other sites