如何统一按下按钮和 运行 动画(无需点击,只需按下)

How to Pressed button and run animacion in unity (NO CLICK, JUST Pressed)

ON 按下按钮 运行 动画

See image

你的问题不是很清楚,但我想你想:

  1. 按下鼠标按钮时启动动画
  2. 松开鼠标按钮时停止动画

您可以使用 Event Trigger 这样做。这是在代码中执行此操作的示例:

// Drag & Drop the button into the inspector
public Button button ;

// Drag & Drop your animator into the inspector
public Animator animator ;

void Start( )
{
    EventTrigger eventTrigger = button.AddComponent<EventTrigger>( );

    // Detect when mouse button is pressed down
    EventTrigger.Entry pointerDownEntry = new EventTrigger.Entry( );
    pointerDownEntry.eventID = EventTriggerType.PointerDown;
    pointerDownEntry.callback.AddListener( ( data ) => { OnPointerDown( (PointerEventData)data ); } );
    eventTrigger.triggers.Add( pointerDownEntry );

    // Detect when mouse button is released
    EventTrigger.Entry pointerUpEntry = new EventTrigger.Entry( );
    pointerUpEntry.eventID = EventTriggerType.PointerDown;
    pointerUpEntry.callback.AddListener( ( data ) => { OnPointerUp( (PointerEventData)data ); } );
    eventTrigger.triggers.Add( pointerUpEntry );
}

public void OnPointerDown( PointerEventData data )
{
    Debug.Log( "OnPointerDown called." );

    // Stop your animation, supposing you have a bool parameter in your animator
    animator.SetBool("boolName", true);
}

public void OnPointerUp( PointerEventData data )
{
    Debug.Log( "OnPointerUp called." );

    // Stop your animation, supposing you have a bool parameter in your animator
    animator.SetBool("boolName", false);
}