Материал из Скретч Вики

Document stub.png Статья не завершена! Если ты хочешь помочь — отредактируй её.
ScratchJr On Flag block.png Этот раздел или статья не предназначена для новичка! Она содержит сложную информацию.

Сетевая игра (также мультиплеер, онлайн игра, в скретче) - режим компьютерной игры, во время которого играет больше одного человека.

Реализация

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

Из-за ограничений в передаче данных (только цифры), скретчеры придумали разные способы шифрования облачных данных из текста в числа. Размер облачных переменных, как и их количество не бесконечно, поэтому в мультиплеерных (сетевых) играх максимальное количество игроков ограничено.

Коды

когда щёлкнут по зелёному флагу
Изменить [☁игроки v] на (1)
Задать [я игрок № v] значение (☁игроки)
повторять всегда
если <(я игрок №) = (1)>, то
перейти на (указатель мыши v)
Задать [☁X1 v] значение (положение x)
Задать [☁Y1 v] значение (положение y)
иначе
перейти в x: (☁X1) y: (☁Y1)
end
end

Если скретчер выйдет/остановит проект то количество игроков не изменится, поэтому нужен детектор остановки проекта.


Значок «важно».png Внимание! Следующие два скрипта заставят ваш проект работать непрерывно, пока вы не закроете редактор, плеер или вкладку браузера.
когда щёлкнут по зелёному флагу
повторять всегда
задать [стоп детектор v]значение ((таймер) + (1))

когда [таймер v] > (стоп детектор)
Изменить [☁игроки v] на (-1)

Так как игроков несколько нам не хватит одного спрайта поэтому создаём ещё один

когда щёлкнут по зелёному флагу
повторять всегда
если <(я игрок №) = (2)>, то
перейти на (указатель мыши v)
Задать [☁X2 v] значение (положение x)
Задать [☁Y2 v] значение (положение y)
иначе
перейти в x: (☁X2) y: (☁Y2)
end
если <(☁игроки) > (1)>, то
показаться
иначе
спрятаться
end
end

См. также

Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.