【发布时间】:2017-01-17 11:11:23
【问题描述】:
就像键盘的Input.GetKey() 一样,有没有办法从UI 按钮事件触发 OnPointerDown 获取连续输入?因为对于带有动画的运动控制,它会给出非常奇怪的输出?我必须一次又一次地点击它,我不想这样做!
如果答案是手动跟踪,那该怎么做呢?
【问题讨论】:
标签: c# unity3d unity5 unity3d-2dtools
就像键盘的Input.GetKey() 一样,有没有办法从UI 按钮事件触发 OnPointerDown 获取连续输入?因为对于带有动画的运动控制,它会给出非常奇怪的输出?我必须一次又一次地点击它,我不想这样做!
如果答案是手动跟踪,那该怎么做呢?
【问题讨论】:
标签: c# unity3d unity5 unity3d-2dtools
您可以使用OnPointerDown 和OnPointerUp 函数执行此操作,然后使用简单的布尔变量来保持状态。然后您可以在更新功能中检查新闻。
public class YourCode : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
bool pointerDown = false;
public void OnPointerDown(PointerEventData eventData)
{
pointerDown = true;
}
public void OnPointerUp(PointerEventData eventData)
{
pointerDown = false;
}
void Update()
{
if (pointerDown)
{
//Your Code
}
}
}
【讨论】:
Eventtrigger组件并使用OnPointerDown和OnPointerUp功能的触摸按钮?
OnPointerDown 和OnPointerUp 的特定按钮,每个脚本是否应该在Update() 中具有特定 代码? @程序员
if (pointerDown) 代码中。它将在每一帧中调用,直到被释放。
if (pointerDown) 中调用事件。
没有。
您必须手动跟踪事件。使用EventTrigger 是最好的。
【讨论】: