mounten1
-
Публикации
5 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем mounten1
-
-
37 минут назад, ProgramCrafter сказал:А какой код у функции progressbar? Возможно, она просто не очищает пустое место в прогрессбаре.
Ещё подозрительно, что переменные p_energy и p_heat постоянно перезаписываются новыми значениями.
function progressbar(value, x, y, text, update) if update == 0 then border1 = glassesTerminal.addBox2D(); border1.setSize(100, 1) border1.addTranslation(x, y-1, 0) border1.addColor(0, 0, 0, 1) border1.addColor(0, 0, 0, 1) border2 = glassesTerminal.addBox2D(); border2.setSize(100, 1) border2.addTranslation(x, y+15, 0) border2.addColor(0, 0, 0, 1) border2.addColor(0, 0, 0, 1) border3 = glassesTerminal.addBox2D(); border3.setSize(1, 15) border3.addTranslation(x-1, y, 0) border3.addColor(0, 0, 0, 1) border3.addColor(0, 0, 0, 1) border4 = glassesTerminal.addBox2D(); border4.setSize(1, 15) border4.addTranslation(x+100, y, 0) border4.addColor(0, 0, 0, 1) border4.addColor(0, 0, 0, 1) bar = glassesTerminal.addBox2D(); bar.setSize(value, 15) bar.addTranslation(x, y, 0) if value >= 90 then bar.addColor(1, 0, 0, 0.5) bar.addColor(1, 0, 0, 0.5) else bar.addColor(0, 1, 0, 0.5) bar.addColor(0, 1, 0, 0.5) end text_p = glassesTerminal.addText2D() text_p.setText(text) text_p.setFont("") text_p.setFontSize(8) text_p.addTranslation(x+5, y+2.5, 0) end if update == 1 then text_p.setText(text) bar.setSize(value, 15) if value >= 90 then bar.addColor(1, 0, 0, 0.5) bar.addColor(1, 0, 0, 0.5) else bar.addColor(0, 1, 0, 0.5) bar.addColor(0, 1, 0, 0.5) end end end
-
У меня есть функция, которая создаёт progressbar:
function progressbar(value, x, y, text, update)
Если использовать один progressbar, то всё работает. Но если создать два progressbar'a, то новые значения объявляются только на втором progressbar'e в цикле. Без цикла вроде всё нормально работает.
Почему так происходит?
Кусок кода:
local p_energy = progressbar(value_energy, 15, 25, energy_reactor, 0) local p_heat = progressbar(value_heat, 15, 50, heat_reactor, 0) while i < 1 do //... p_energy = progressbar(value_energy, 15, 25, energy_reactor, 1) p_heat = progressbar(value_heat, 15, 50, heat_reactor, 1) //... end

Обновляется только один progressbar.
в Помогите найти ошибку
Опубликовано:
Сделал переменные локальные, но не помогло