gpt4 book ai didi

c# - HOTween OnComplete(MyFunction) 未被触发

转载 作者:行者123 更新时间:2023-11-30 12:19:57 25 4
gpt4 key购买 nike

我有这个代码:

void FunctionName( Vector3 pos, Vector3 targetPos){

Vector3[] path = new Vector3[] {
pos,
new Vector3(targetPosition.x, ((directionDown) ? 100 : -300), 0),
new Vector3(targetPosition.x, targetPosition.y + ( ( directionDown ) ? 300 : -500 ), 0)
};

Transform starEffect = starEffectObject.transform;
starEffect.localPosition = pos;

HOTween.To(starEffect,
1.5f,
new TweenParms()
.Prop(
"localPosition",
new PlugVector3Path(path, EaseType.Linear, true)
)
.OnComplete(TriggerFunction)
);
}

private void TriggerFunction() {
Debug.Log("asd");
}

我的问题是 OnComplete(TriggerFunction) 没有按照 HOTween documentation 中的指示触发

但是,如果我将 OnComplete(TriggerFunction) 替换为 OnStart(TriggerFunction),一切正常。

有人可以帮我解决这个问题吗?或者请向我发送正确的方向以获取替代解决方案,以在补间结束时实现 TriggerFunction 的触发。

谢谢!

更新:

我设法欺骗它:

StartCoroutine(TriggerFunction(0.2f));

IEnumerator TriggerFunction(float delay) {
yield return new WaitForSeconds(delay);
Debug.Log("asd");
}

但我觉得这样做有更好更清洁的解决方案。

最佳答案

我没有使用过 HOTween,但从文档来看它似乎在寻找具有不同签名的函数。

当你打电话时

.OnComplete(TriggerFunction)

它很可能在寻找一个没有参数的回调函数 private void TriggerFunction()

如果你打电话 .OnComplete(触发函数,1,2,3)那么你可以使用带有单个参数的函数 private void TriggerFunction(TweenEvent 数据)

关于c# - HOTween OnComplete(MyFunction) 未被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54214188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com