Показать сообщение отдельно
  #1 (permalink)  
Старый 17.07.2018, 11:25
Интересующийся
Отправить личное сообщение для ice99 Посмотреть профиль Найти все сообщения от ice99
 
Регистрация: 19.06.2011
Сообщений: 20

UI progressbar не обновляется на экране
Значит так. Не сильно уверен, что это правильная тема, но всё-таки спрошу.
Пишу скрипт для After Effects на ExtendedScript (диалект ECMAScript Javascript и ActionScript ). Сильно похож на Javascript, однако.

Проблема в следующем. У меня есть основная задача скрипта, которая выполняется в основном цикле. Количество шагов цикла мне известно. Допустим их 10. Я хочу чтобы текстовая метка UI вела себя так:
1/10,2/10,...,10/10

Внутри цикла обновляю метку счетчиком цикла. Так вот итоговое UI скачет или сразу 1/10->10/10, или успевает показать 2/10. В любом случае не выводит информацию обо всех шагах цикла. Такое ощущение, как "подвисает". Подозреваю что основной цикл ей просто "не даёт слова". Если вставлять в основной цикл "alert", то UI обновляется.

Как это победить?
Код ниже

//Это счетчик - простая текстовая метка
    var counter = new Window("palette");  
    counter.prompt = counter.add("statictext",[0,0,180,20]);  
    counter.prompt.text = "Script is running";


Ниже цикл (убрал всё ненужное)

for (i = 1; i <= NumOfStrings; i++) { в  
    counter.prompt.text = ("Processed " + i+" / " + NumOfFrames + " frames");  
    counter.update();   
    // Здесь основной цикл
    }
Ответить с цитированием