HOTween OnComplete (MyFunction) не запускается - PullRequest
0 голосов
/ 16 января 2019

У меня есть этот код:

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 документации

Однако, если я заменю OnComplete(TriggerFunction) на OnStart(TriggerFunction), все будет нормально.

Может кто-нибудь помочь мне с этим вопросом? Или, пожалуйста, отправьте меня в правильном направлении, чтобы найти альтернативное решение для достижения триггера TriggerFunction в конце анимации.

Спасибо!

UPDATE:

Мне удается обмануть это:

StartCoroutine(TriggerFunction(0.2f));

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

Но я чувствую, что есть лучшее решение для этого.

Ответы [ 2 ]

0 голосов
/ 26 января 2019

После прочтения цепочки комментариев, я считаю, что использовался OP актива, который был поставлен в комплекте с HOTween, и у него должны были быть проблемы, которые блокировали обратный вызов OnComplete.

похоже, что я использовал устаревшую версию HOTween, которая пришла с другим пакетом, который я использовал. После обновления все работает как шарм.

Поскольку я импортировал HOTween в Unity2018.2 из хранилища активов и протестировал обратный вызов OnComplete, он по-прежнему работает, поэтому проблема связана с устаревшим / измененным плагином HOTween, который использовал OP.

0 голосов
/ 23 января 2019

Я не использовал HOTween, но, судя по документации, похоже, что ищет функцию с другой подписью.

при звонке

.OnComplete(TriggerFunction)

вероятно, он ищет функцию обратного вызова без параметров частная пустота TriggerFunction ()

Если бы вы позвонили .OnComplete (TriggerFunction, 1,2,3) тогда вы можете использовать функцию с одним параметром Закрытая пустая функция TriggerFunction (данные TweenEvent)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...