Поместите ссылку в другую ветку - PullRequest
0 голосов
/ 17 февраля 2019

Можно ли как-нибудь поместить этот метод в другой поток?

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

new Thread(() => x.Animate(0f, 1f, 1000, Ease.Linear)).Start();

, но это кажется неудобным.

    public static void Animate(this ref float value, float start, float change, int duration, Ease easing)
    {
        Stopwatch timer = new Stopwatch();
        timer.Start();
        while (timer.ElapsedMilliseconds <= duration)
        {
                value = easing.Execute((int)timer.ElapsedMilliseconds, start, change, duration);
        }
        timer.Stop();
    }

1 Ответ

0 голосов
/ 17 февраля 2019

Если вы хотите отслеживать переменную value, вы можете сделать ее открытым статическим свойством на уровне класса вместо параметра ref.

Вы должны разделить эту проблему на другое свойство или один экземплярный класс.

...