为什么我的按钮的onClick功能有一个小而明显的延迟?我正在通过onClick函数内置的按钮调用函数来启动动画。这个动画开始但有明显的延迟。
通过检查更新功能中的Input.GetMouseButtonDown(0)来调用该函数可以消除此延迟并立即启动动画。
所以我得出的结论是按钮OnClick功能是问题,但我似乎无法在网上找到有同样问题的人。我如何解决这个延迟?
没有延迟:
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
explosionWave.Detonate();
}
}
我使用的是Unity 2017.1.1
解决方案:
感谢@Lelefant,没有意识到在mouseUp上调用了OnClick。但是,仍然发现mouseUp也有同样的延迟。无论哪种方式,这都解决了这个问题:
using UnityEngine;
using UnityEngine.EventSystems;
public class OnPointerDownExplode : MonoBehaviour, IPointerDownHandler// required interface when using the OnPointerDown method.
{
public ExplosionWave explosionWave;
//Do this when the mouse is clicked over the selectable object this script is attached to.
public void OnPointerDown(PointerEventData eventData)
{
explosionWave.Detonate();
}
}
答案 0 :(得分:0)
db.coll.update( {username:"akgupta@xpirit.com"},
{ $push: { WishList: "NewWishListId" } })
事件已触发called at mouseUp。
如果您不想在Button.OnClick
期间查看,可以将脚本附加到实现IPointerDownHandler
的按钮。
请注意, onClick 允许用户将指针拖出按钮以取消操作,而 onPointerDown 会立即启动操作。