I\'m a newbie in Unity
Using Unity Inspector i have setup a button that makes a callback to a function (OnClick), it works fine but only once, to fire the action again i
The OnClick
can't do this. Use OnPointerDown
and OnPointerUp
. Set a boolean variable to true/false in these function respectively then check that boolean variable in the Update
function
Attach to the UI Button object:
public class UIPresser : MonoBehaviour, IPointerDownHandler,
IPointerUpHandler
{
bool pressed = false;
public void OnPointerDown(PointerEventData eventData)
{
pressed = true;
}
public void OnPointerUp(PointerEventData eventData)
{
pressed = false;
}
void Update()
{
if (pressed)
MoveLeft();
}
public void MoveLeft()
{
transform.RotateAround(Camera.main.transform.position, Vector3.up, -rotation / 4 * Time.deltaTime);
infopanel.RotateAround(Camera.main.transform.position, Vector3.up, -rotation / 4 * Time.deltaTime);
}
}
You can find other event functions here.