InteractionButton类继承自InteractionBehaviour类。
| InteractionButton | |
| 属性 | 描述 |
| isPressed | 判断按钮是否处于按下状态。 |
| pressedThisFrame | 判断当前帧是否触发了按下操作。 |
| unpressedThisFrame | 判断当前帧是否触发了释放操作。 |
| pressedAmount | 获取按钮按下的程度,取值范围[0, 1],0表示未按下,1表示完全按下。 |
| minMaxHeight | Vector2类型。按钮的最大和最小高度。 |
| restingHeight |
按钮当前高度的插值,取值范围[0, 1]。按钮当前高度=Mathf.Lerp(minMaxHeight.x, minMaxHeight.y, restingHeight); |
| springForce | 当释放按钮时,按钮恢复到初始高度时的弹力,取值范围[0, 1]。 |
| RelaxedLocalPosition |
按钮处于释放状态时,它在本地坐标系中的位置。initialLocalPosition + Vector3.back * Mathf.Lerp(minMaxHeight.x, minMaxHeight.y, restingHeight);Vector3.back为按钮弹起方向(指向玩家方向)。 |
| contactForceMode |
枚举类型。Leap.Unity.Interaction.ContactForceMode { Object, UI } 确定交互控制器应该对此对象应用多大的力。对于按钮和滑块等界面样式对象,请选择UI。这将使物体感觉更轻,对轻柔的触摸更有反应;对于普通物理对象,您几乎总是需要Object。 |
| controlEnabled | 当设置为false时,此UI控件将不起作用。当您想禁用用户影响此UI控件的能力,同时保持GameObject处于活动状态,例如渲染,并能够接收primaryHover状态时,请使用此选项,而不是禁用组件本身。 |
| startingPositionMode |
枚举类型。 Relaxed:按钮初始高度保持设计时的高度。 Depressed:按钮初始高度将由以下代码计算得出 transform.localPosition = initialLocalPosition +
Vector3.back * Mathf.Lerp(minMaxHeight.x, minMaxHeight.y, restingHeight);
|
| ignoreContact |
继承自 InteractionBehaviour。 如果设置为true,则交互控制器将无法触摸此对象。 |
| 方法 | 描述 |
| SetMinHeight(float minHeight) | 设置按钮最小高度。 |
| SetMaxHeight(float maxHeight) | 设置按钮最大高度。 |
| 事件 | 描述 |
| OnPress | 按下事件。 |
| OnUnpress | 释放事件。 |