En este momento estás viendo ¿Cómo agregar un oyente onClick con una variable a un botón?

 – Unity

¿Cómo agregar un oyente onClick con una variable a un botón? – Unity

¿Cómo agregar un oyente onClick con una variable a un botón?

– UnityAssets3Free

buenas , soy Juan y en esta ocasion os traigo
esta unity pregunta

Estoy tratando de agregar una llamada de función a un botón a través del código. Pude hacer esto fácilmente para mi menú desplegable, pero por alguna razón no funciona para mis botones. Aquí está mi código:

btn.GetComponent<Button>().onClick.AddListener(onSpriteSheetChange(spriteSheet.Grass)); 

Este código me da el error: no se puede convertir de ‘void’ a ‘UnityEngine.Events.UnityAction’ Assembly-CSharp

3 respuestas 3

Pruebe el siguiente fragmento:

btn.GetComponent<Button>().onClick.AddListener(() => onSpriteSheetChange(spriteSheet.Grass));

Addlistener realiza una acción de Unity, por lo que si coloca un método de anulación regular, tendrá este problema. Como se dijo anteriormente, puede poner su llamada a una función anónima usando la expresión lambda:

()=> method(attr);
// Or multiple lines using
()=>
//code 

onSpriteSheetChange no devolverá lo que desea que necesite pasar

() => onSpriteSheetChange(spriteSheet.Grass)

como un argumento para AddListener para que sepa qué evento y hoja de sprites.

Para ver:
https://docs.unity3d.com/ScriptReference/Events.UnityEvent.AddListener.html

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,hasta la proxima

Deja una respuesta