Почему моя переменная Scratch Cloud не обновляется? - PullRequest
0 голосов
/ 31 марта 2020

Я делаю многопользовательскую игру, которую можно найти здесь: проект. Он имеет следующий скрипт перед основным. Я тщательно протестировал этот скрипт, но, похоже, он не работает. По какой-то причине, несмотря на то, что моя облачная переменная должна обновляться каждые 0,2 секунды, она не изменится через пять секунд в другом браузере. Что происходит и как я могу это исправить?

когда щелкнул зеленый флаг
установить [tick_p1 v] в (☁p1)
установить [tick_p2 v] в (☁p2)
подождите (5) секунд
, если <(☁p1) = (tick_p1)>, то
установите [(g) player v] в (1)
иначе
, если <(☁p2) = ( tick_p2)> then
установить [(g) player v] на (2)
else
stop [каждую вещь в этом проекте v]
end
end

1 Ответ

0 голосов
/ 07 апреля 2020

Это, вероятно, из-за задержки в сети. Переменные в пустом облаке часто бывают довольно затруднительными и занимают достаточно много времени для обновления. Я знаю, что это может быть не тот ответ, который вы ищете, но создание онлайновой многопользовательской игры, которая немедленно обновляется, очень сложно, если не невозможно, с нуля. Как описано в этой простой вики-статье :

"Чтобы избежать перегрузки инфраструктуры облачных данных, обновления данных в облаке ограничиваются определенным числом в секунду во время выполнения проекта. Всегда следует не пытайтесь обновить облачную переменную за 1 oop, которая не ждет между обновлениями. Как правило, следует тщательно обдумать, как часто обновляется облачная переменная, и стараться ограничивать любые обновления только теми временами, когда это необходимо, например, когда значение действительно изменяется, и для ограничения частоты обновления переменной. "

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

...