Lua Loop не выполняет заранее все действия внутри себя (в частности, команда setFillcolor ()) - PullRequest
0 голосов
/ 03 октября 2018

Я работаю над игрой в Короне (с Луа), где игрок раскрашивает растение, а затем добавляет его в коробку.как только игрок собрал достаточно растений, динозавр подходит и ест растения.после чего динозавр должен изменить цветовую фильтрацию через цвета, используемые для окраски растений.

    -- this creates a loop that will cycle through the table "RecentColours" and "change the dinosaurs colour each time and" then stop on the last colour used
    X=1
    --changes dino colour
    for ListColors = 1, #RecentColours do
      Colour = RecentColours[X]
      Dino:setFillColor(unpack(Colour))
      X = X + 1
      print(unpack(Colour))
      --sets CurrentColour to the current colour of the dinosaur
      CurrentColour = Colour
    end
    --emptys dinour colour list
    for ListColors = 1, #RecentColours do
      Y = #RecentColours
      table.remove(RecentColours,Y)
    end

этот цикл выполняется для длины списка цветов, но проблема в том, что динозавр меняет только напоследний цвет в списке, а не циклический просмотр всех их

Я попытался изменить стиль цикла, но это ничего не изменило, и я попробовал событие .preformwithdelay, и я попытался вставить его собственную функцию.

Я также тестировал печать на консоли, и он определенно добавляет все цвета в список, и он определенно проходит через весь список, поскольку он печатает текущую часть таблицы, которая до


Комментарии очень помогли и решили проблему.но если вы знаете способ замедлить цикл, я хотел бы знать

...