2015-12-15 2 views
1

У меня есть игра, в которой хранится счет, и после входа в систему он загружает счет из бинарного файла C#, но он явно работает в редакторе единства и других платформах, но он не может работать на единственном веб-проигрывателе. Мой файл .unity3D загружается на Google Drive и делится со всеми и может редактировать кого угодно, а файл .html находится на веб-хосте WEEBLY с встроенным кодом.Unity web player не поддерживает C# BinaryFormatter

Так что я хочу спросить, есть ли в любом случае, чтобы сохранить значение и загрузить значение без использования playerpref и binaryFormatter.

ответ

0

Вы можете выполнить запрос HTTP GET/POST с использованием класса WWW и отправить данные вместе.

WWW www = new WWW("http://www.domain.com/send_score.php?user=23&score=42"); 

Вы также можете получить данные.

WWW www = new WWW("http://www.domain.com/get_score.php?user=23"); // The response body is an integer. 
yield return www; 
int score = (int)www.text; 

Следует учитывать, что это не безопасно. Любой, кто знает URL-адрес, может вводить поддельные данные, просто выполняющие запрос (например, через браузер). Может быть, какой-то метод криптографии может помочь вам здесь.

0

Короткий ответ да есть!

Я не уверен, что понял ваш вопрос, вы хотите сохранить оценку локально или на сервере?

Чтобы отправить объект по сети, вам необходимо:

1.Make массив байтов, Вы можете использовать другие типы сериализации как Protobuf и JSON Google. Если это всего лишь один простой счет, вы можете просто изменить его на строку, без необходимости сериализации. Важная часть заключается в том, что у вас есть способ изменить свой объект на несколько байтов и наоборот. (Сериализация и десериализация)

2. Отправляйте свои данные через простые TCP-соединения или более высокоуровневыми способами, такими как HTTP-POST-запрос. И при этом убедитесь, что ваш перевод защищен.

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

Смежные вопросы