Тутор-л написал Sirvoid
Перевод от меня.
Photon Cloud
Этот небольшой туториал научит тебя как создать простой онлайн платформер с чатом и всего в 12 (!!!) событий!
Плагин бесплатный, и доступен здесь : scirra.com/forum/plugin-photon-cloud_t125..
Настройка плагина
Начнем с того, что вам нужен специальный AppID, Он же Photon Realtime cloud. Возьмите его с PhotonEngine.com . Сделайте аккаунт и для своего платформера возьмите "Free plan" а именно - бесплатный "тариф".
После чего скопируйте личный AppID который вы можете найти тут (Скриншот 1).
Подготовим движок
Сделайте пустой проект и перетащите плагин в "Белое окно". Это действие загрузит плагин и вы сможете его использовать.
После чего, перезапустите движок.
Вставьте (Ctrl+V) ваш AppID Сюда (Скриншот 2)
Поздравляю, вы смогли сделать то, что я сказал.
Подключение
Сделайте примерно такую штучку :
(Не буду это переводить, тут ивенты с c2)
On start of layout -> Connect to the name server (Подключиться к серверу при старте уровня)
Photon -> On join lobby -> Joins random room (При подключение в лобби - подключиться к рандомной комнате (Тут еще можно указать в какую именно комнату, а именно -> Join room))
Photon -> On joinRandomRoom no match found -> Create room "test". (Нет рандомных комнат? Создать "test") } Скриншот 3
Создание игрока на экране (Клиент)
Настоящий туториал начинается тут (c) Sirvoid
Сейчас я вам поведую как передавать координаты игроков.
Сначала создай спрайт с личной переменно "ActorNr"
Теперь мы будем использовать Фотоновский "Raise event" впервые.
(Скриншот 4)
*
Сode - это номер ивента.
Data - это то, что ваше величество хочет отправить в этом ивенте
Cache - кэш. (Не использовал, но что-то вроде сохранения данных)
Reciever - это тот, кто получит этот ивент.
*
Остальные вещи не так уж и важны для вашей игры.
И наконец! бы ассоциируем Photon Player ID и персонажа (игрока) что-бы использовать их далее (Я не знаю что он тут написал).
И всё будет выглядеть ~ так. (Скриншот 5) Если вам лень глядеть скриншот - вот ивенты.
Всё Photon ->
On Join room -> photon raises event 1 with 0
On event 1 (1 кстати тот самый Code) -> System create object Игрок на layer 0 at (100,100)
Этот же ивент но действие 2
Player -> приватная переменная ActorNr принимает значение Photon.ActorNr
Отправление ваший ко-орд для всех игроков
Скриншот 6 или текстовый вар-т :
Player -> ActorNr = Photon.MyActorNr - Player set Platform (поведение платформ игроку добавьте ага) enabled.
System -> evert tick и Player ActorNr = Photon.MyActorNr (Player = PhotonMyActorNr - событие, которым мы выделяем СЕБЯ) -> Photon -> Raises game event 2 with player.X а также Raises game event 3 with Player.Y
Photon - >On event 2 и Player ActorNr = Photon.ActorNr -> Player set X to "int(PhotonEventData)
Photon - >On event 2 и Player ActorNr = Photon.ActorNr -> Player set Y to "int(PhotonEventData)
Тут мы включили платформ для тех, у кого есть ActorNr. Также теперь игрокам передается ваш XY.
Давайте уничтожим игрока, который вышел.
(ActorNr = PhotonActorNr значит выделение всех кроме ВАС от вашего лица (забей, всех кроме тебя))
Photon -> On actor leave -> Player destroy.
Простой чат
Что надо для чата?
TextBox с именем chatlog - показывать сообщения ребят.
TextBox с именем msgbox - шоб писать что-то ребятам.
Button с именем sendbutton - что-бы отправить ваше сообщение.
И делаем такую штуку :
Sendbutton -> On clicked -> Photon -> Rauses game event 4 with msgbox.Text
Photon -> On event 4 -> chatlog -> Set text to (копи-пастайте)
chatlog.Text & newline & "<" Photon.ActorNr & ">" & Photon.EventData
Завершениие автора
Вот и всё, что вам нужно знать о фотоне и как сделать платформер.
Слова от меня (переводчика)
Ребят, это был ужастно долгий перевод, я рад что я его закончил.
Спасибо за то, что прочли это